<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Apworks</name>
    </assembly>
    <members>
        <member name="T:Apworks.Specifications.ExpressionSpecification`1">
            <summary>
            Represents the specification which is represented by the corresponding
            LINQ expression.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="T:Apworks.Specifications.Specification`1">
            <summary>
            Represents the base class for specifications.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="T:Apworks.Specifications.ISpecification`1">
            <summary>
            Represents that the implemented classes are specifications. For more
            information about the specification pattern, please refer to
            http://martinfowler.com/apsupp/spec.pdf.
            </summary>
            <typeparam name="T">The type of the object to which the specification
            is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.ISpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates whether the specification
            is satisfied by the given object.
            </summary>
            <param name="obj">The object to which the specification is applied.</param>
            <returns>True if the specification is satisfied, otherwise false.</returns>
        </member>
        <member name="M:Apworks.Specifications.ISpecification`1.And(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Combines the current specification instance with another specification instance
            and returns the combined specification which represents that both the current and
            the given specification must be satisfied by the given object.
            </summary>
            <param name="other">The specification instance with which the current specification
            is combined.</param>
            <returns>The combined specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.ISpecification`1.Or(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Combines the current specification instance with another specification instance
            and returns the combined specification which represents that either the current or
            the given specification should be satisfied by the given object.
            </summary>
            <param name="other">The specification instance with which the current specification
            is combined.</param>
            <returns>The combined specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.ISpecification`1.AndNot(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Combines the current specification instance with another specification instance
            and returns the combined specification which represents that the current specification
            should be satisfied by the given object but the specified specification should not.
            </summary>
            <param name="other">The specification instance with which the current specification
            is combined.</param>
            <returns>The combined specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.ISpecification`1.Not">
            <summary>
            Reverses the current specification instance and returns a specification which represents
            the semantics opposite to the current specification.
            </summary>
            <returns>The reversed specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.ISpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="M:Apworks.Specifications.Specification`1.Eval(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Evaluates a LINQ expression to its corresponding specification.
            </summary>
            <param name="expression">The LINQ expression to be evaluated.</param>
            <returns>The specification which represents the same semantics as the given LINQ expression.</returns>
        </member>
        <member name="M:Apworks.Specifications.Specification`1.IsSatisfiedBy(`0)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates whether the specification
            is satisfied by the given object.
            </summary>
            <param name="obj">The object to which the specification is applied.</param>
            <returns>True if the specification is satisfied, otherwise false.</returns>
        </member>
        <member name="M:Apworks.Specifications.Specification`1.And(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Combines the current specification instance with another specification instance
            and returns the combined specification which represents that both the current and
            the given specification must be satisfied by the given object.
            </summary>
            <param name="other">The specification instance with which the current specification
            is combined.</param>
            <returns>The combined specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.Specification`1.Or(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Combines the current specification instance with another specification instance
            and returns the combined specification which represents that either the current or
            the given specification should be satisfied by the given object.
            </summary>
            <param name="other">The specification instance with which the current specification
            is combined.</param>
            <returns>The combined specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.Specification`1.AndNot(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Combines the current specification instance with another specification instance
            and returns the combined specification which represents that the current specification
            should be satisfied by the given object but the specified specification should not.
            </summary>
            <param name="other">The specification instance with which the current specification
            is combined.</param>
            <returns>The combined specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.Specification`1.Not">
            <summary>
            Reverses the current specification instance and returns a specification which represents
            the semantics opposite to the current specification.
            </summary>
            <returns>The reversed specification instance.</returns>
        </member>
        <member name="M:Apworks.Specifications.Specification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="M:Apworks.Specifications.ExpressionSpecification`1.#ctor(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Initializes a new instance of <c>ExpressionSpecification&lt;T&gt;</c> class.
            </summary>
            <param name="expression">The LINQ expression which represents the current
            specification.</param>
        </member>
        <member name="M:Apworks.Specifications.ExpressionSpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="T:Apworks.Repositories.RepositoryException">
            <summary>
            Represents errors that occur in the repository of Apworks framework.
            </summary>
        </member>
        <member name="T:Apworks.DomainException">
            <summary>
            Represents errors that occur in the domain layer of Apworks framework.
            </summary>
        </member>
        <member name="T:Apworks.ApworksException">
            <summary>
            Represents errors that occur in the Apworks framework.
            </summary>
        </member>
        <member name="M:Apworks.ApworksException.#ctor">
            <summary>
            Initializes a new instance of the <c>ApworksException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.ApworksException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>ApworksException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.ApworksException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>ApworksException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.ApworksException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>ApworksException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="M:Apworks.DomainException.#ctor">
            <summary>
            Initializes a new instance of the <c>DomainException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.DomainException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>DomainException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.DomainException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>DomainException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.DomainException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>DomainException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="M:Apworks.Repositories.RepositoryException.#ctor">
            <summary>
            Initializes a new instance of the <c>RepositoryException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.RepositoryException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>RepositoryException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.Repositories.RepositoryException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>RepositoryException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.Repositories.RepositoryException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>RepositoryException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="T:Apworks.ISourcedAggregateRoot">
            <summary>
            Represents that the implemented classes are aggregate roots that
            support event sourcing mechanism.
            </summary>
        </member>
        <member name="T:Apworks.IAggregateRoot">
            <summary>
            Represents that the implemented classes are aggregate roots.
            </summary>
        </member>
        <member name="T:Apworks.IEntity">
            <summary>
            Represents that the implemented classes are domain entities.
            </summary>
        </member>
        <member name="P:Apworks.IEntity.Id">
            <summary>
            Gets or sets the identifier of the entity.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.ISnapshotOrignator">
            <summary>
            Represents that the implemented classes are snapshot originators.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.ISnapshotOrignator.BuildFromSnapshot(Apworks.Snapshots.ISnapshot)">
            <summary>
            Builds the originator from the specific snapshot.
            </summary>
            <param name="snapshot">The snapshot from which the originator is built.</param>
        </member>
        <member name="M:Apworks.Snapshots.ISnapshotOrignator.CreateSnapshot">
            <summary>
            Creates the snapshot.
            </summary>
            <returns>The snapshot that was created based on the current originator.</returns>
        </member>
        <member name="M:Apworks.ISourcedAggregateRoot.BuildFromHistory(System.Collections.Generic.IEnumerable{Apworks.Events.IDomainEvent})">
            <summary>
            Builds the aggreate from the historial events.
            </summary>
            <param name="historicalEvents">The historical events from which the aggregate is built.</param>
        </member>
        <member name="P:Apworks.ISourcedAggregateRoot.UncommittedEvents">
            <summary>
            Gets all the uncommitted events.
            </summary>
        </member>
        <member name="P:Apworks.ISourcedAggregateRoot.Version">
            <summary>
            Gets the version of the aggregate.
            </summary>
        </member>
        <member name="P:Apworks.ISourcedAggregateRoot.Branch">
            <summary>
            Gets the branch on which the aggregate exists.
            </summary>
        </member>
        <member name="T:Apworks.IObjectContainer">
            <summary>
            Represents that the implemented classes are object containers.
            </summary>
        </member>
        <member name="M:Apworks.IObjectContainer.InitializeFromConfigFile(System.String)">
            <summary>
            Initializes the object container by using the application/web config file.
            </summary>
            <param name="configSectionName">The name of the ConfigurationSection in the application/web config file
            which is used for initializing the object container.</param>
        </member>
        <member name="M:Apworks.IObjectContainer.GetWrappedContainer``1">
            <summary>
            Gets the wrapped container instance.
            </summary>
            <typeparam name="T">The type of the wrapped container.</typeparam>
            <returns>The instance of the wrapped container.</returns>
        </member>
        <member name="M:Apworks.IObjectContainer.GetService``1">
            <summary>
            Gets the service object of the specified type.
            </summary>
            <typeparam name="T">The type of the service object.</typeparam>
            <returns>The instance of the service object.</returns>
        </member>
        <member name="M:Apworks.IObjectContainer.ResolveAll(System.Type)">
            <summary>
            Resolves all the objects from the specified type.
            </summary>
            <param name="serviceType">The type of the objects to be resolved.</param>
            <returns>A <see cref="T:System.Array"/> object which contains all the objects resolved.</returns>
        </member>
        <member name="M:Apworks.IObjectContainer.ResolveAll``1">
            <summary>
            Resolves all the objects from the specified type.
            </summary>
            <typeparam name="T">The type of the objects to be resolved.</typeparam>
            <returns>A <see cref="T:System.Array"/> object which contains all the objects resolved.</returns>
        </member>
        <member name="T:Apworks.Events.Storage.IDomainEventStorage">
            <summary>
            Represents that the implemented classes are domain event stores that handle
            the operations for saving and retrieving domain events.
            </summary>
        </member>
        <member name="T:Apworks.IUnitOfWork">
            <summary>
            Represents that the implemented classes will maintain a list of objects
            affected by a business transaction and coordinate the writing out of changes
            and the resolution of concurrency problems. Unit of Work is an object-relational
            behavioral pattern which was described in Martin Fowler's book, Patterns of
            Enterprise Application Architecture. For more information about Unit of Work
            architectural pattern, please refer to http://martinfowler.com/eaaCatalog/unitOfWork.html.
            </summary>
        </member>
        <member name="M:Apworks.IUnitOfWork.Commit">
            <summary>
            Commits the transaction.
            </summary>
        </member>
        <member name="M:Apworks.IUnitOfWork.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.IUnitOfWork.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="P:Apworks.IUnitOfWork.Committed">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work was successfully committed.
            </summary>
        </member>
        <member name="M:Apworks.Events.Storage.IDomainEventStorage.SaveEvent(Apworks.Events.IDomainEvent)">
            <summary>
            Saves the specified domain event to the event storage.
            </summary>
            <param name="domainEvent">The domain event to be saved.</param>
        </member>
        <member name="M:Apworks.Events.Storage.IDomainEventStorage.LoadEvents(System.Type,System.Int64)">
            <summary>
            Loads all the domain events for the specific aggregate root from the storage.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>A list of domain events for the specific aggregate root.</returns>
        </member>
        <member name="M:Apworks.Events.Storage.IDomainEventStorage.LoadEvents(System.Type,System.Int64,System.Int64)">
            <summary>
            Loads all the domain events for the specific aggregate root from the storage.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <param name="version">The version number.</param>
            <returns>A list of domain events for the specific aggregate root which occur just after
            the given version number.</returns>
        </member>
        <member name="T:Apworks.Bus.IMessageDispatcher">
            <summary>
            Represents the message dispatcher.
            </summary>
        </member>
        <member name="M:Apworks.Bus.IMessageDispatcher.Clear">
            <summary>
            Clears the registration of the message handlers.
            </summary>
        </member>
        <member name="M:Apworks.Bus.IMessageDispatcher.DispatchMessage(System.Object)">
            <summary>
            Dispatches the message.
            </summary>
            <param name="message">The message to be dispatched.</param>
        </member>
        <member name="M:Apworks.Bus.IMessageDispatcher.Register``1(Apworks.IHandler{``0})">
            <summary>
            Registers a message handler into message dispatcher.
            </summary>
            <typeparam name="T">The type of the message.</typeparam>
            <param name="handler">The handler to be registered.</param>
        </member>
        <member name="E:Apworks.Bus.IMessageDispatcher.Dispatching">
            <summary>
            Occurs when the message dispatcher is going to dispatch a message.
            </summary>
        </member>
        <member name="E:Apworks.Bus.IMessageDispatcher.DispatchFailed">
            <summary>
            Occurs when the message dispatcher failed to dispatch a message.
            </summary>
        </member>
        <member name="E:Apworks.Bus.IMessageDispatcher.Dispatched">
            <summary>
            Occurs when the message dispatcher has finished dispatching the message.
            </summary>
        </member>
        <member name="T:Apworks.Bus.IBus`1">
            <summary>
            Represents the message bus.
            </summary>
        </member>
        <member name="M:Apworks.Bus.IBus`1.Publish(`0)">
            <summary>
            Publishes the specified message to the bus.
            </summary>
            <param name="message">The message to be published.</param>
        </member>
        <member name="M:Apworks.Bus.IBus`1.Publish(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Publishes a collection of messages to the bus.
            </summary>
            <param name="messages">The messages to be published.</param>
        </member>
        <member name="M:Apworks.Bus.IBus`1.Clear">
            <summary>
            Clears the published messages waiting for commit.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Serialization.SnapshotXmlSerializer">
            <summary>
            Represents the XML snapshot serializer.
            </summary>
        </member>
        <member name="T:Apworks.Serialization.ObjectXmlSerializer`1">
            <summary>
            Represents the Json serializer.
            </summary>
            <typeparam name="TObject">The type of the object which needs to be serialized/deserialized.</typeparam>
        </member>
        <member name="T:Apworks.Serialization.IObjectSerializer`1">
            <summary>
            Represents that the implemented classes are object serializers.
            </summary>
            <typeparam name="TObject">The type of the object which needs to be serialized/deserialized.</typeparam>
        </member>
        <member name="M:Apworks.Serialization.IObjectSerializer`1.Serialize(`0)">
            <summary>
            Serializes an object into a byte stream.
            </summary>
            <param name="obj">The object to be serialized.</param>
            <returns>The byte stream which contains the serialized data.</returns>
        </member>
        <member name="M:Apworks.Serialization.IObjectSerializer`1.Deserialize(System.Type,System.Byte[])">
            <summary>
            Deserializes an object from the given byte stream.
            </summary>
            <param name="destType">The destination type of the object being deserialized.</param>
            <param name="stream">The byte stream which contains the serialized data of the object.</param>
            <returns>The deserialized object.</returns>
        </member>
        <member name="M:Apworks.Serialization.ObjectXmlSerializer`1.Serialize(`0)">
            <summary>
            Serializes an object into a byte stream.
            </summary>
            <param name="obj">The object to be serialized.</param>
            <returns>The byte stream which contains the serialized data.</returns>
        </member>
        <member name="M:Apworks.Serialization.ObjectXmlSerializer`1.Deserialize(System.Type,System.Byte[])">
            <summary>
            Deserializes an object from the given byte stream.
            </summary>
            <param name="destType">The destination type of the object being deserialized.</param>
            <param name="stream">The byte stream which contains the serialized data of the object.</param>
            <returns>The deserialized object.</returns>
        </member>
        <member name="T:Apworks.Snapshots.Serialization.ISnapshotSerializer">
            <summary>
            Represents that the implemented classes are serializers for snapshots.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Serialization.SnapshotDataContractSerializer">
            <summary>
            Represents the data contract snapshot serializer.
            </summary>
        </member>
        <member name="T:Apworks.Serialization.ObjectDataContractSerializer`1">
            <summary>
            Represents the data contract serializer.
            </summary>
            <typeparam name="TObject">The type of the object which needs to be serialized/deserialized.</typeparam>
        </member>
        <member name="M:Apworks.Serialization.ObjectDataContractSerializer`1.Serialize(`0)">
            <summary>
            Serializes an object into a byte stream.
            </summary>
            <param name="obj">The object to be serialized.</param>
            <returns>The byte stream which contains the serialized data.</returns>
        </member>
        <member name="M:Apworks.Serialization.ObjectDataContractSerializer`1.Deserialize(System.Type,System.Byte[])">
            <summary>
            Deserializes an object from the given byte stream.
            </summary>
            <param name="destType">The destination type of the object being deserialized.</param>
            <param name="stream">The byte stream which contains the serialized data of the object.</param>
            <returns>The deserialized object.</returns>
        </member>
        <member name="T:Apworks.Events.Storage.RdbmsDomainEventStorage`1">
            <summary>
            Represents the base class for domain event storages which are built based on the
            relational database systems.
            </summary>
            <typeparam name="TRdbmsStorage">The type of the <c>RdbmsStorage</c> which provides
            the required operations on the external storage mechanism.</typeparam>
        </member>
        <member name="T:Apworks.DisposableObject">
            <summary>
            Represents that the derived classes are disposable objects.
            </summary>
        </member>
        <member name="M:Apworks.DisposableObject.Finalize">
            <summary>
            Finalizes the object.
            </summary>
        </member>
        <member name="M:Apworks.DisposableObject.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.DisposableObject.ExplicitDispose">
            <summary>
            Provides the facility that disposes the object in an explicit manner,
            preventing the Finalizer from being called after the object has been
            disposed explicitly.
            </summary>
        </member>
        <member name="M:Apworks.DisposableObject.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or
            resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:Apworks.Events.Storage.RdbmsDomainEventStorage`1.#ctor(System.String,Apworks.Storage.IStorageMappingResolver)">
            <summary>
            Initializes a new instance of the <c>RdbmsDomainEventStorage&lt;TRdbmsStorage&gt;</c> class.
            </summary>
            <param name="connectionString">The connection string which is used when connecting
            to the relational database system. For more information about the connection strings
            for different database providers, please refer to http://www.connectionstrings.com.
            </param>
            <param name="mappingResolver">The instance of the mapping resolver which resolves the table and column mappings
            between data objects and the relational database system.</param>
        </member>
        <member name="M:Apworks.Events.Storage.RdbmsDomainEventStorage`1.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Events.Storage.RdbmsDomainEventStorage`1.SaveEvent(Apworks.Events.IDomainEvent)">
            <summary>
            Saves the specified domain event to the event storage.
            </summary>
            <param name="domainEvent">The domain event to be saved.</param>
        </member>
        <member name="M:Apworks.Events.Storage.RdbmsDomainEventStorage`1.LoadEvents(System.Type,System.Int64)">
            <summary>
            Loads all the domain events for the specific aggregate root from the storage.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>A list of domain events for the specific aggregate root.</returns>
        </member>
        <member name="M:Apworks.Events.Storage.RdbmsDomainEventStorage`1.LoadEvents(System.Type,System.Int64,System.Int64)">
            <summary>
            Loads all the domain events for the specific aggregate root from the storage.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <param name="version">The version number.</param>
            <returns>A list of domain events for the specific aggregate root which occur just after
            the given version number.</returns>
        </member>
        <member name="M:Apworks.Events.Storage.RdbmsDomainEventStorage`1.Commit">
            <summary>
            Commits the transaction.
            </summary>
        </member>
        <member name="M:Apworks.Events.Storage.RdbmsDomainEventStorage`1.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.RdbmsDomainEventStorage`1.ConnectionString">
            <summary>
            Gets the connection string which is used when connecting
            to the relational database system. For more information about the connection strings
            for different database providers, please refer to http://www.connectionstrings.com.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.RdbmsDomainEventStorage`1.MappingResolver">
            <summary>
            Gets the instance of the mapping resolver which resolves the table and column mappings
            between data objects and relational database system.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.RdbmsDomainEventStorage`1.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.RdbmsDomainEventStorage`1.Committed">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work was successfully committed.
            </summary>
        </member>
        <member name="T:Apworks.Storage.IStorageMappingResolver">
            <summary>
            Represents that the implemented classes are storage mapping resolvers.
            </summary>
        </member>
        <member name="M:Apworks.Storage.IStorageMappingResolver.ResolveTableName``1">
            <summary>
            Resolves the table name by using the given type.
            </summary>
            <typeparam name="T">The type of the object to be resolved.</typeparam>
            <returns>The table name.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorageMappingResolver.ResolveFieldName``1(System.String)">
            <summary>
            Resolves the field name by using the given type and property name.
            </summary>
            <typeparam name="T">The type of the object to be resolved.</typeparam>
            <param name="propertyName">The property name.</param>
            <returns>The field name.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorageMappingResolver.IsAutoIdentityField``1(System.String)">
            <summary>
            Checks if the given property is mapped to an auto-generated identity field.
            </summary>
            <typeparam name="T">The type of the object to be resolved.</typeparam>
            <param name="propertyName">The property name.</param>
            <returns>True if the field is mapped to an auto-generated identity, otherwise false.</returns>
        </member>
        <member name="T:Apworks.Specifications.ISpecificationParser`1">
            <summary>
            Represents that the implemented classes are specification parsers that
            parses the given specification to a domain specific criteria object, such 
            as the <c>ICriteria</c> instance in NHibernate.
            </summary>
            <typeparam name="TCriteria">The type of the domain specific criteria.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.ISpecificationParser`1.Parse``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Parses the given specification to a domain specific criteria object.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
            <param name="specification">The specified specification instance.</param>
            <returns>The instance of the domain specific criteria.</returns>
        </member>
        <member name="T:Apworks.Specifications.AnySpecification`1">
            <summary>
            Represents the specification that can be satisfied by the given object
            in any circumstance.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.AnySpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="T:Apworks.Serialization.ObjectJsonSerializer`1">
            <summary>
            Represents the Json serializer.
            </summary>
            <typeparam name="TObject">The type of the object which needs to be serialized/deserialized.</typeparam>
        </member>
        <member name="M:Apworks.Serialization.ObjectJsonSerializer`1.Serialize(`0)">
            <summary>
            Serializes an object into a byte stream.
            </summary>
            <param name="obj">The object to be serialized.</param>
            <returns>The byte stream which contains the serialized data.</returns>
        </member>
        <member name="M:Apworks.Serialization.ObjectJsonSerializer`1.Deserialize(System.Type,System.Byte[])">
            <summary>
            Deserializes an object from the given byte stream.
            </summary>
            <param name="destType">The destination type of the object being deserialized.</param>
            <param name="stream">The byte stream which contains the serialized data of the object.</param>
            <returns>The deserialized object.</returns>
        </member>
        <member name="T:Apworks.ExpressionParseException">
            <summary>
            Represents errors that occur when parsing the strings to expressions.
            </summary>
        </member>
        <member name="T:Apworks.InfrastructureException">
            <summary>
            Represents errors that occur in the infrastructure layer of Apworks framework.
            </summary>
        </member>
        <member name="M:Apworks.InfrastructureException.#ctor">
            <summary>
            Initializes a new instance of the <c>InfrastructureException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.InfrastructureException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>InfrastructureException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.InfrastructureException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>InfrastructureException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.InfrastructureException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>InfrastructureException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="M:Apworks.ExpressionParseException.#ctor">
            <summary>
            Initializes a new instance of the <c>ParseException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.ExpressionParseException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>ParseException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.ExpressionParseException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>ParseException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.ExpressionParseException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>ParseException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="T:Apworks.Snapshots.ISnapshot">
            <summary>
            Represents that the implemented classes are snapshots.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.ISnapshot.Timestamp">
            <summary>
            Gets or sets the timestamp on which the snapshot was taken.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.ISnapshot.AggregateRootId">
            <summary>
            Gets or sets the identifier of the aggregate root which the
            snapshot represents.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.ISnapshot.Version">
            <summary>
            Gets or sets the version of the snapshot, which commonly would
            be the version of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.ISnapshot.Branch">
            <summary>
            Gets or sets the branch on which the snapshot exists.
            </summary>
        </member>
        <member name="T:Apworks.Config.AppConfigSource">
            <summary>
            Represents the configuration source that uses the application/web configuration file.
            </summary>
        </member>
        <member name="T:Apworks.Config.IConfigSource">
            <summary>
            Represents that the implemented classes are configuration sources for Apworks framework.
            </summary>
        </member>
        <member name="P:Apworks.Config.IConfigSource.Config">
            <summary>
            Gets the instance of <see cref="T:Apworks.Config.ApworksConfigSection"/> class.
            </summary>
        </member>
        <member name="F:Apworks.Config.AppConfigSource.DefaultConfigSection">
            <summary>
            Represents the default name of the configuration section used by Apworks framework.
            </summary>
        </member>
        <member name="M:Apworks.Config.AppConfigSource.#ctor">
            <summary>
            Initializes a new instance of <c>AppConfigSource</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Config.AppConfigSource.#ctor(System.String)">
            <summary>
            Initializes a new instance of <c>AppConfigSource</c> class.
            </summary>
            <param name="configSectionName">The name of the Configuration Section.</param>
        </member>
        <member name="P:Apworks.Config.AppConfigSource.Config">
            <summary>
            Gets the instance of <see cref="T:Apworks.Config.ApworksConfigSection"/> class.
            </summary>
        </member>
        <member name="T:Apworks.Application.IApp">
            <summary>
            Represents that the implemented classes are Apworks applications.
            </summary>
        </member>
        <member name="M:Apworks.Application.IApp.Start">
            <summary>
            Starts the application.
            </summary>
        </member>
        <member name="P:Apworks.Application.IApp.ConfigSource">
            <summary>
            Gets the <see cref="T:Apworks.Config.IConfigSource"/> instance that was used
            for configuring the application.
            </summary>
        </member>
        <member name="P:Apworks.Application.IApp.ObjectContainer">
            <summary>
            Gets the <see cref="T:Apworks.IObjectContainer"/> instance with which the application
            registers or resolves the object dependencies.
            </summary>
        </member>
        <member name="P:Apworks.Application.IApp.Interceptors">
            <summary>
            Gets a list of <see cref="T:Castle.DynamicProxy.IInterceptor"/> instances that are
            registered on the current application.
            </summary>
        </member>
        <member name="E:Apworks.Application.IApp.Initialize">
            <summary>
            The event that occurs when the application is initializing.
            </summary>
        </member>
        <member name="T:Apworks.Application.AppInitEventArgs">
            <summary>
            Represents the class that contains the event data
            for application initialization.
            </summary>
        </member>
        <member name="M:Apworks.Application.AppInitEventArgs.#ctor">
            <summary>
            Initializes a new instance of <c>AppInitEventArgs</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Application.AppInitEventArgs.#ctor(Apworks.Config.IConfigSource,Apworks.ObjectContainer)">
            <summary>
            Initializes a new instance of <c>AppInitEventArgs</c> class.
            </summary>
            <param name="configSource">The <see cref="T:Apworks.Config.IConfigSource"/> instance that was used
            for configuring the application.</param>
            <param name="objectContainer">The <see cref="T:Apworks.IObjectContainer"/> instance with which the application
            registers or resolves the object dependencies.</param>
        </member>
        <member name="P:Apworks.Application.AppInitEventArgs.ConfigSource">
            <summary>
            Gets the <see cref="T:Apworks.Config.IConfigSource"/> instance that was used
            for configuring the application.
            </summary>
        </member>
        <member name="P:Apworks.Application.AppInitEventArgs.ObjectContainer">
            <summary>
            Gets the <see cref="T:Apworks.IObjectContainer"/> instance with which the application
            registers or resolves the object dependencies.
            </summary>
        </member>
        <member name="T:Apworks.Utils">
            <summary>
            Represents the utility class used by Apworks.
            </summary>
        </member>
        <member name="M:Apworks.Utils.GetUniqueIdentifier(System.Int32)">
            <summary>
            Generates a unique identifier represented by a <see cref="T:System.String"/> value
            with the specified length.
            </summary>
            <param name="length">The length of the identifier to be generated.</param>
            <returns>The unique identifier represented by a <see cref="T:System.String"/> value.</returns>
        </member>
        <member name="M:Apworks.Utils.GetHashCode(System.Int32[])">
            <summary>
            Gets the hash code for an object based on the given array of hash
            codes from each property of the object.
            </summary>
            <param name="hashCodesForProperties">The array of the hash codes
            that are from each property of the object.</param>
            <returns>The hash code.</returns>
        </member>
        <member name="M:Apworks.Utils.GetSignature(System.Type)">
            <summary>
            Gets the signature string.
            </summary>
            <param name="type">The type.</param>
            <returns>The signature string.</returns>
        </member>
        <member name="M:Apworks.Utils.GetSignature(System.Reflection.MethodInfo)">
            <summary>
            Gets the signature string.
            </summary>
            <param name="method">The method.</param>
            <returns>The signature string.</returns>
        </member>
        <member name="T:Apworks.Serialization.ObjectBinarySerializer`1">
            <summary>
            Represents the binary serializer.
            </summary>
            <typeparam name="TObject">The type of the object which needs to be serialized/deserialized.</typeparam>
        </member>
        <member name="M:Apworks.Serialization.ObjectBinarySerializer`1.Serialize(`0)">
            <summary>
            Serializes an object into a byte stream.
            </summary>
            <param name="obj">The object to be serialized.</param>
            <returns>The byte stream which contains the serialized data.</returns>
        </member>
        <member name="M:Apworks.Serialization.ObjectBinarySerializer`1.Deserialize(System.Type,System.Byte[])">
            <summary>
            Deserializes an object from the given byte stream.
            </summary>
            <param name="destType">The destination type of the object being deserialized.</param>
            <param name="stream">The byte stream which contains the serialized data of the object.</param>
            <returns>The deserialized object.</returns>
        </member>
        <member name="T:Apworks.Events.Serialization.DomainEventBinarySerializer">
            <summary>
            Represents the serializer for domain events that serializes/deserializes the domain events
            with binary format.
            </summary>
        </member>
        <member name="T:Apworks.Events.Serialization.IDomainEventSerializer">
            <summary>
            Represents that the implemented classes are domain event serializers.
            </summary>
        </member>
        <member name="T:Apworks.Events.DomainEvent">
            <summary>
            Represents the base class for all domain events.
            </summary>
        </member>
        <member name="T:Apworks.Events.IDomainEvent">
            <summary>
            Represents that the implemented classes are domain events.
            </summary>
            <remarks>Domain events are the events raised by domain model.</remarks>
        </member>
        <member name="T:Apworks.Events.IEvent">
            <summary>
            Represents that the implemented classes are events.
            </summary>
        </member>
        <member name="P:Apworks.Events.IEvent.Timestamp">
            <summary>
            Gets or sets the date and time on which the event was produced.
            </summary>
            <remarks>The format of this date/time value could be various between different
            systems. Apworks recommend system designer or architect uses the standard
            UTC date/time format.</remarks>
        </member>
        <member name="P:Apworks.Events.IEvent.AssemblyQualifiedTypeName">
            <summary>
            Gets or sets the assembly qualified type name of the event.
            </summary>
        </member>
        <member name="P:Apworks.Events.IDomainEvent.AggregateRootType">
            <summary>
            Gets or sets the assembly qualified name of the type of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Events.IDomainEvent.AggregateRootId">
            <summary>
            Gets or sets the identifier of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Events.IDomainEvent.Version">
            <summary>
            Gets or sets the version of the domain event.
            </summary>
        </member>
        <member name="P:Apworks.Events.IDomainEvent.Branch">
            <summary>
            Gets or sets the branch on which the current domain event exists.
            </summary>
        </member>
        <member name="M:Apworks.Events.DomainEvent.#ctor">
            <summary>
            Initializes a new instance of <c>DomainEvent</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Events.DomainEvent.GetHashCode">
            <summary>
            Returns the hash code for current domain event.
            </summary>
            <returns>The calculated hash code for the current domain event.</returns>
        </member>
        <member name="M:Apworks.Events.DomainEvent.Equals(System.Object)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            entity.
            </summary>
            <param name="obj">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.ISourcedAggregateRoot"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="M:Apworks.Events.DomainEvent.Equals(Apworks.IEntity)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            entity.
            </summary>
            <param name="other">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.ISourcedAggregateRoot"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="P:Apworks.Events.DomainEvent.AggregateRootId">
            <summary>
            Gets or sets the identifier of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Events.DomainEvent.AggregateRootType">
            <summary>
            Gets or sets the assembly qualified name of the type of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Events.DomainEvent.Version">
            <summary>
            Gets or sets the version of the domain event.
            </summary>
        </member>
        <member name="P:Apworks.Events.DomainEvent.Branch">
            <summary>
            Gets or sets the branch on which the current version of domain event exists.
            </summary>
        </member>
        <member name="P:Apworks.Events.DomainEvent.AssemblyQualifiedTypeName">
            <summary>
            Gets or sets the assembly qualified type name of the event.
            </summary>
        </member>
        <member name="P:Apworks.Events.DomainEvent.Timestamp">
            <summary>
            Gets or sets the date and time on which the event was produced.
            </summary>
            <remarks>The format of this date/time value could be various between different
            systems. Apworks recommend system designer or architect uses the standard
            UTC date/time format.</remarks>
        </member>
        <member name="P:Apworks.Events.DomainEvent.Id">
            <summary>
            Gets or sets the identifier of the domain event.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Snapshot">
            <summary>
            Represents the snapshot.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Snapshot.#ctor">
            <summary>
            Initializes a new instance of <c>Snapshot</c> class.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Snapshot.Version">
            <summary>
            Gets or sets the version of the snapshot.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Snapshot.Branch">
            <summary>
            Gets or sets the branch of the snapshot.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Snapshot.Timestamp">
            <summary>
            Gets or sets the timestamp on which the snapshot was taken.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Snapshot.AggregateRootId">
            <summary>
            Gets or sets the identifier of the aggregate root which the
            snapshot represents.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Providers.StorageBasedSnapshotProvider">
            <summary>
            Represents the snapshot providers that utilize both event storage and snapshot storage to
            implement their functionalities.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Providers.SnapshotProvider">
            <summary>
            Represents the base class for all snapshot providers.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Providers.ISnapshotProvider">
            <summary>
            Represents that the implemented classes are snapshot providers.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.ISnapshotProvider.CanCreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates
            whether the snapshot should be created or updated for the given
            aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root.</param>
            <returns>True if the snapshot should be created or updated, 
            otherwise false.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.ISnapshotProvider.CreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Creates or updates the snapshot for the given aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root on which the snapshot is created or updated.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.ISnapshotProvider.GetSnapshot(System.Type,System.Int64)">
            <summary>
            Gets the snapshot for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The snapshot instance.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.ISnapshotProvider.HasSnapshot(System.Type,System.Int64)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates whether the snapshot
            exists for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>True if the snapshot exists, otherwise false.</returns>
        </member>
        <member name="P:Apworks.Snapshots.Providers.ISnapshotProvider.Option">
            <summary>
            Gets a <see cref="T:Apworks.Snapshots.Providers.SnapshotProviderOption"/> value
            which indicates the option when using the snapshot functionalities.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.#ctor(Apworks.Snapshots.Providers.SnapshotProviderOption)">
            <summary>
            Initializes a new instance of <c>SnapshotProvider</c> class.
            </summary>
            <param name="option">The <see cref="T:Apworks.Snapshots.Providers.SnapshotProviderOption"/> value
            which is used for initializing the <c>SnapshotProvider</c> class.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.CanCreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates
            whether the snapshot should be created or updated for the given
            aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root.</param>
            <returns>True if the snapshot should be created or updated, 
            otherwise false.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.CreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Creates or updates the snapshot for the given aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root on which the snapshot is created or updated.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.GetSnapshot(System.Type,System.Int64)">
            <summary>
            Gets the snapshot for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The snapshot instance.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.HasSnapshot(System.Type,System.Int64)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates whether the snapshot
            exists for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>True if the snapshot exists, otherwise false.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.Commit">
            <summary>
            Commits the transaction.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SnapshotProvider.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.SnapshotProvider.Option">
            <summary>
            Gets a <see cref="T:Apworks.Snapshots.Providers.SnapshotProviderOption"/> value
            which indicates the option when using the snapshot functionalities.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.SnapshotProvider.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.SnapshotProvider.Committed">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work was successfully committed.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.StorageBasedSnapshotProvider.#ctor(Apworks.Storage.IStorage,Apworks.Storage.IStorage,Apworks.Snapshots.Providers.SnapshotProviderOption)">
            <summary>
            Initializes a new instance of <c>StorageBasedSnapshotProvider</c> class.
            </summary>
            <param name="eventStorage">The instance of the event storage that is used for initializing the <c>StorageBasedSnapshotProvider</c> class.</param>
            <param name="snapshotStorage">The instance of the snapshot storage this is used for initializing the <c>StorageBasedSnapshotProvider</c> class.</param>
            <param name="option">The snapshot provider option.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.StorageBasedSnapshotProvider.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="P:Apworks.Snapshots.Providers.StorageBasedSnapshotProvider.EventStorage">
            <summary>
            Gets the instance of the event storage used by <c>StorageBasedSnapshotProvider</c>.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.StorageBasedSnapshotProvider.SnapshotStorage">
            <summary>
            Gets the instance of the snapshot storage used by <c>StorageBasedSnapshotProvider</c>.
            </summary>
        </member>
        <member name="T:Apworks.AggregateRoot">
            <summary>
            Represents the base class for aggregate roots.
            </summary>
        </member>
        <member name="M:Apworks.AggregateRoot.#ctor">
            <summary>
            Initializes a new instance of <c>AggregateRoot</c> class.
            </summary>
        </member>
        <member name="M:Apworks.AggregateRoot.GetHashCode">
            <summary>
            Returns the hash code for current aggregate root.
            </summary>
            <returns>The calculated hash code for the current aggregate root.</returns>
        </member>
        <member name="M:Apworks.AggregateRoot.Equals(System.Object)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            object.
            </summary>
            <param name="obj">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.ISourcedAggregateRoot"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="M:Apworks.AggregateRoot.Equals(Apworks.IEntity)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            entity.
            </summary>
            <param name="other">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.ISourcedAggregateRoot"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="P:Apworks.AggregateRoot.Id">
            <summary>
            Gets or sets the identifier of the aggregate root.
            </summary>
        </member>
        <member name="T:Apworks.Specifications.ICompositeSpecification`1">
            <summary>
            Represents that the implemented classes are composite specifications.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="P:Apworks.Specifications.ICompositeSpecification`1.Left">
            <summary>
            Gets the left side of the specification.
            </summary>
        </member>
        <member name="P:Apworks.Specifications.ICompositeSpecification`1.Right">
            <summary>
            Gets the right side of the specification.
            </summary>
        </member>
        <member name="T:Apworks.Commands.ICommand">
            <summary>
            Represents that the implemented classes are commands.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.SnapshotDataObject">
            <summary>
            Represents the snapshot data object.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.SnapshotDataObject.#ctor">
            <summary>
            Initializes a new instance of <c>SnapshotDataObject</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.SnapshotDataObject.ExtractSnapshot">
            <summary>
            Extracts the snapshot from the current snapshot data object.
            </summary>
            <returns>The snapshot instance.</returns>
        </member>
        <member name="M:Apworks.Snapshots.SnapshotDataObject.CreateFromAggregateRoot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Creates the snapshot data object from the aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root for which the snapshot is being created.</param>
            <returns>The snapshot data object.</returns>
        </member>
        <member name="M:Apworks.Snapshots.SnapshotDataObject.GetHashCode">
            <summary>
            Returns the hash code for current snapshot data object.
            </summary>
            <returns>The calculated hash code for the current snapshot data object.</returns>
        </member>
        <member name="M:Apworks.Snapshots.SnapshotDataObject.Equals(System.Object)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            object.
            </summary>
            <param name="obj">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.Snapshots.SnapshotDataObject"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="M:Apworks.Snapshots.SnapshotDataObject.Equals(Apworks.IEntity)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            object.
            </summary>
            <param name="other">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.Snapshots.SnapshotDataObject"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.SnapshotData">
            <summary>
            Gets or sets an array of <see cref="T:System.Byte"/> values that represents
            the binary content of the snapshot data.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.AggregateRootId">
            <summary>
            Gets or sets the identifier of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.AggregateRootType">
            <summary>
            Gets or sets the assembly qualified name of the type of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.SnapshotType">
            <summary>
            Gets or sets the assembly qualified name of the type of the snapshot.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.Version">
            <summary>
            Gets or sets the version of the snapshot.
            </summary>
            <remarks>This version is also equal to the version of the event
            on which the snapshot was taken.</remarks>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.Branch">
            <summary>
            Gets or sets the branch of the snapshot.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.Timestamp">
            <summary>
            Gets or sets the timestamp on which the snapshot was taken.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.SnapshotDataObject.Id">
            <summary>
            Gets or sets the identifier of the snapshot data object.
            </summary>
        </member>
        <member name="T:Apworks.HandlesAttribute">
            <summary>
            Represents that the decorated methods are inline domain event handlers.
            </summary>
        </member>
        <member name="M:Apworks.HandlesAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of <c>HandlesAttribute</c> class.
            </summary>
            <param name="domainEventType">The type of the domain event that can be handled by
            the decorated method.</param>
        </member>
        <member name="P:Apworks.HandlesAttribute.DomainEventType">
            <summary>
            Gets or sets the type of the domain event that can be handled by
            the decorated method.
            </summary>
        </member>
        <member name="T:Apworks.Bus.MessageDispatchEventArgs">
            <summary>
            Represents the event data that is generated when dispatching messages.
            </summary>
        </member>
        <member name="M:Apworks.Bus.MessageDispatchEventArgs.#ctor">
            <summary>
            Initializes a new instance of <c>MessageDispatchEventArgs</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Bus.MessageDispatchEventArgs.#ctor(System.Object,System.Type,System.Object)">
            <summary>
            Initializes a new instance of <c>MessageDispatchEventArgs</c> class.
            </summary>
            <param name="message">The message.</param>
            <param name="handlerType">The type of the message handler.</param>
            <param name="handler">The handler.</param>
        </member>
        <member name="P:Apworks.Bus.MessageDispatchEventArgs.Message">
            <summary>
            Gets or sets the message.
            </summary>
        </member>
        <member name="P:Apworks.Bus.MessageDispatchEventArgs.HandlerType">
            <summary>
            Gets or sets the type of the message handler.
            </summary>
        </member>
        <member name="P:Apworks.Bus.MessageDispatchEventArgs.Handler">
            <summary>
            Gets or sets the handler.
            </summary>
        </member>
        <member name="T:Apworks.Repositories.RegularDomainRepository">
            <summary>
            Represents the domain repository that uses the <see cref="T:Apworks.Repositories.IRepositoryContext"/>
            and <see cref="T:Apworks.Repositories.IRepository`1"/> instances to perform aggregate
            operations.
            </summary>
        </member>
        <member name="T:Apworks.Repositories.DomainRepository">
            <summary>
            Represents the base class for domain repositories.
            </summary>
        </member>
        <member name="T:Apworks.Repositories.IDomainRepository">
            <summary>
            Represents that the implemented classes are domain repositories.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.IDomainRepository.Get``1(System.Int64)">
            <summary>
            Gets the instance of the aggregate root with the specified identifier.
            </summary>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The instance of the aggregate root with the specified identifier.</returns>
        </member>
        <member name="M:Apworks.Repositories.IDomainRepository.Save``1(``0)">
            <summary>
            Saves the aggregate represented by the specified aggregate root to the repository.
            </summary>
            <param name="aggregateRoot">The aggregate root that is going to be saved.</param>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.#ctor">
            <summary>
            Initializes a new instance of <c>DomainRepository</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.DoCommit">
            <summary>
            Commits the changes registered in the domain repository.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.CreateAggregateRootInstance``1">
            <summary>
            Creates a new instance of the aggregate root regardless whether a public
            default constructor is provided.
            </summary>
            <typeparam name="TAggregateRoot">The type of the aggregate root.</typeparam>
            <returns>A newly created instance for the specified aggregate root type.</returns>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.Get``1(System.Int64)">
            <summary>
            Gets the instance of the aggregate root with the specified identifier.
            </summary>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The instance of the aggregate root with the specified identifier.</returns>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.Save``1(``0)">
            <summary>
            Saves the aggregate represented by the specified aggregate root to the repository.
            </summary>
            <param name="aggregateRoot">The aggregate root that is going to be saved.</param>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.Commit">
            <summary>
            Commits the transaction.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.DomainRepository.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.DomainRepository.SaveHash">
            <summary>
            Gets the list which contains the aggregate roots being saved.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.DomainRepository.DelegatedUpdateAndClearAggregateRoot">
            <summary>
            Gets the delegated method which updates the version on aggregate root
            and clears all its uncommitted events.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.DomainRepository.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="P:Apworks.Repositories.DomainRepository.Committed">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work was successfully committed.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.RegularDomainRepository.#ctor(Apworks.Repositories.IRepositoryContext)">
            <summary>
            Initializes a new instance of <c>RegularDomainRepository</c> class.
            </summary>
            <param name="context">The <see cref="T:Apworks.Repositories.IRepositoryContext"/> instance to which the 
            <c>RegularDomainRepository</c> forwards the repository operations.</param>
        </member>
        <member name="M:Apworks.Repositories.RegularDomainRepository.DoCommit">
            <summary>
            Commits the changes registered in the domain repository.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.RegularDomainRepository.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Repositories.RegularDomainRepository.Get``1(System.Int64)">
            <summary>
            Gets the instance of the aggregate root with the specified identifier.
            </summary>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The instance of the aggregate root with the specified identifier.</returns>
        </member>
        <member name="M:Apworks.Repositories.RegularDomainRepository.Save``1(``0)">
            <summary>
            Saves the aggregate represented by the specified aggregate root to the repository.
            </summary>
            <param name="aggregateRoot">The aggregate root that is going to be saved.</param>
        </member>
        <member name="M:Apworks.Repositories.RegularDomainRepository.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.RegularDomainRepository.Context">
            <summary>
            Gets the <see cref="T:Apworks.Repositories.IRepositoryContext"/> instance.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.RegularDomainRepository.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="T:Apworks.Config.ApworksConfigSection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ApworksConfigSection.GetSerializedXmlString">
            <summary>
            Returns the serialized XML string for the current Apworks configuration section.
            </summary>
            <returns>The serialized XML string.</returns>
        </member>
        <member name="M:Apworks.Config.ApworksConfigSection.GetInterceptorTypes(System.Type,System.Reflection.MethodInfo)">
            <summary>
            Returns a list of <see cref="T:System.String"/> values which represents the types
            of interceptors references by the given method.
            </summary>
            <param name="contractType">The type for the method.</param>
            <param name="method">The method.</param>
            <returns>A list of <see cref="T:System.String"/> values which contains the interceptor types.</returns>
        </member>
        <member name="P:Apworks.Config.ApworksConfigSection.Application">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ApworksConfigSection.ObjectContainer">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ApworksConfigSection.Serializers">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ApworksConfigSection.Generators">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ApworksConfigSection.Handlers">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ApworksConfigSection.Exceptions">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ApworksConfigSection.Interception">
            <remarks />
        </member>
        <member name="T:Apworks.IHandler`1">
            <summary>
            Represents that the implemented classes are message handlers.
            </summary>
            <typeparam name="T">The type of the message to be handled.</typeparam>
        </member>
        <member name="M:Apworks.IHandler`1.Handle(`0)">
            <summary>
            Handles the specified message.
            </summary>
            <param name="message">The message to be handled.</param>
        </member>
        <member name="T:Apworks.Events.Serialization.DomainEventJsonSerializer">
            <summary>
            Represents the serializer for domain events that serializes/deserializes the domain events
            with Json format.
            </summary>
        </member>
        <member name="T:Apworks.Events.EventHandler`1">
            <summary>
            Represents the base class for event handlers.
            </summary>
            <typeparam name="TEvent">The type of the event to be handled.</typeparam>
        </member>
        <member name="T:Apworks.Events.IEventHandler`1">
            <summary>
            Represents that the implemented classes are event handlers.
            </summary>
            <typeparam name="TEvent">The type of the event to be handled.</typeparam>
        </member>
        <member name="M:Apworks.Events.EventHandler`1.Handle(`0)">
            <summary>
            Handles the specified event.
            </summary>
            <param name="message">The event to be handled.</param>
        </member>
        <member name="T:Apworks.Storage.Builders.WhereClauseBuilder`1">
            <summary>
            Represents the base class of all the where clause builders.
            </summary>
            <typeparam name="TDataObject">The type of the data object which would be mapped to
            a certain table in the relational database.</typeparam>
        </member>
        <member name="T:Apworks.Storage.Builders.IWhereClauseBuilder`1">
            <summary>
            Represents that the implemented classes are where clause builders that
            build the WHERE clause for the SQL syntax for relational database systems.
            </summary>
            <typeparam name="T">The type of the data object which would be mapped to
            a certain table in the relational database.</typeparam>
        </member>
        <member name="M:Apworks.Storage.Builders.IWhereClauseBuilder`1.BuildWhereClause(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Builds the WHERE clause from the given expression object.
            </summary>
            <param name="expression">The expression object.</param>
            <returns>The <c>Apworks.Storage.Builders.WhereClauseBuildResult</c> instance
            which contains the build result.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.#ctor(Apworks.Storage.IStorageMappingResolver)">
            <summary>
            Initializes a new instance of <c>WhereClauseBuilderBase&lt;T&gt;</c> class.
            </summary>
            <param name="mappingResolver">The <c>Apworks.Storage.IStorageMappingResolver</c>
            instance which will be used for generating the mapped field names.</param>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitBinary(System.Linq.Expressions.BinaryExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.BinaryExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitMember(System.Linq.Expressions.MemberExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.MemberExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitConstant(System.Linq.Expressions.ConstantExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.ConstantExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitMethodCall(System.Linq.Expressions.MethodCallExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.MethodCallExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitBlock(System.Linq.Expressions.BlockExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.BlockExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitCatchBlock(System.Linq.Expressions.CatchBlock)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.CatchBlock"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitConditional(System.Linq.Expressions.ConditionalExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.ConditionalExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.DebugInfoExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitDefault(System.Linq.Expressions.DefaultExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.DefaultExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitDynamic(System.Linq.Expressions.DynamicExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.DynamicExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitElementInit(System.Linq.Expressions.ElementInit)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.ElementInit"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitGoto(System.Linq.Expressions.GotoExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.GotoExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitExtension(System.Linq.Expressions.Expression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.Expression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitIndex(System.Linq.Expressions.IndexExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.IndexExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitInvocation(System.Linq.Expressions.InvocationExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.InvocationExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitLabel(System.Linq.Expressions.LabelExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.LabelExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitLabelTarget(System.Linq.Expressions.LabelTarget)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.LabelTarget"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitLambda``1(System.Linq.Expressions.Expression{``0})">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.Expression`1"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitListInit(System.Linq.Expressions.ListInitExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.ListInitExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitLoop(System.Linq.Expressions.LoopExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.LoopExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitMemberAssignment(System.Linq.Expressions.MemberAssignment)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.MemberAssignment"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitMemberBinding(System.Linq.Expressions.MemberBinding)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.MemberBinding"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitMemberInit(System.Linq.Expressions.MemberInitExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.MemberInitExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitMemberListBinding(System.Linq.Expressions.MemberListBinding)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.MemberListBinding"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitMemberMemberBinding(System.Linq.Expressions.MemberMemberBinding)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.MemberMemberBinding"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitNew(System.Linq.Expressions.NewExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.NewExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitNewArray(System.Linq.Expressions.NewArrayExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.NewArrayExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitParameter(System.Linq.Expressions.ParameterExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.ParameterExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitRuntimeVariables(System.Linq.Expressions.RuntimeVariablesExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.RuntimeVariablesExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitSwitch(System.Linq.Expressions.SwitchExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.SwitchExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitSwitchCase(System.Linq.Expressions.SwitchCase)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.SwitchCase"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitTry(System.Linq.Expressions.TryExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.TryExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitTypeBinary(System.Linq.Expressions.TypeBinaryExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.TypeBinaryExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.VisitUnary(System.Linq.Expressions.UnaryExpression)">
            <summary>
            Visits the children of <see cref="T:System.Linq.Expressions.UnaryExpression"/>.
            </summary>
            <param name="node">The expression to visit.</param>
            <returns>The modified expression, if it or any subexpression was modified; otherwise,
            returns the original expression.</returns>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuilder`1.BuildWhereClause(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Builds the WHERE clause from the given expression object.
            </summary>
            <param name="expression">The expression object.</param>
            <returns>The <c>Apworks.Storage.Builders.WhereClauseBuildResult</c> instance
            which contains the build result.</returns>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.And">
            <summary>
            Gets a <c>System.String</c> value which represents the AND operation in the WHERE clause.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.Or">
            <summary>
            Gets a <c>System.String</c> value which represents the OR operation in the WHERE clause.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.Equal">
            <summary>
            Gets a <c>System.String</c> value which represents the EQUAL operation in the WHERE clause.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.Not">
            <summary>
            Gets a <c>System.String</c> value which represents the NOT operation in the WHERE clause.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.NotEqual">
            <summary>
            Gets a <c>System.String</c> value which represents the NOT EQUAL operation in the WHERE clause.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.Like">
            <summary>
            Gets a <c>System.String</c> value which represents the LIKE operation in the WHERE clause.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.LikeSymbol">
            <summary>
            Gets a <c>System.Char</c> value which represents the place-holder for the wildcard in the LIKE operation.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuilder`1.ParameterChar">
            <summary>
            Gets a <c>System.Char</c> value which represents the leading character to be used by the
            database parameter.
            </summary>
        </member>
        <member name="T:Apworks.Constants">
            <summary>
            Represents the utility class which provides all the constants used by Apworks framework.
            </summary>
        </member>
        <member name="T:Apworks.Constants.Configuration">
            <summary>
            Represents the utility class which provides all the constants for Apworks configuration module.
            </summary>
        </member>
        <member name="F:Apworks.Constants.Configuration.ConfigurationSectionName">
            <summary>
            The name of the configuration section which holds the configuration elements.
            </summary>
        </member>
        <member name="F:Apworks.Constants.Configuration.DefaultIdentityGeneratorName">
            <summary>
            The name of the default identity generator.
            </summary>
        </member>
        <member name="F:Apworks.Constants.Configuration.DefaultSequenceGeneratorName">
            <summary>
            The name of the default sequence generator.
            </summary>
        </member>
        <member name="T:Apworks.Constants.ApplicationRuntime">
            <summary>
            Represents the constants and readonly fields used during the running of the application.
            </summary>
        </member>
        <member name="F:Apworks.Constants.ApplicationRuntime.DefaultVersion">
            <summary>
            Represents the default version number.
            </summary>
        </member>
        <member name="F:Apworks.Constants.ApplicationRuntime.DefaultBranch">
            <summary>
            Represents the default branch number.
            </summary>
        </member>
        <member name="T:Apworks.Bus.ICommandBus">
            <summary>
            Represents that the implemented classes are command buses.
            </summary>
        </member>
        <member name="T:Apworks.Application.App">
            <summary>
            Represents the implementation of the application.
            </summary>
        </member>
        <member name="M:Apworks.Application.App.#ctor(Apworks.Config.IConfigSource)">
            <summary>
            Initializes a new instance of <c>Application</c> class.
            </summary>
            <param name="configSource">The <see cref="T:Apworks.Config.IConfigSource"/> instance that was used
            for configuring the application.</param>
        </member>
        <member name="M:Apworks.Application.App.OnStart">
            <summary>
            Starts the application
            </summary>
        </member>
        <member name="M:Apworks.Application.App.Start">
            <summary>
            Starts the application.
            </summary>
        </member>
        <member name="P:Apworks.Application.App.ConfigSource">
            <summary>
            Gets the <see cref="T:Apworks.Config.IConfigSource"/> instance that was used
            for configuring the application.
            </summary>
        </member>
        <member name="P:Apworks.Application.App.ObjectContainer">
            <summary>
            Gets the <see cref="T:Apworks.IObjectContainer"/> instance with which the application
            registers or resolves the object dependencies.
            </summary>
        </member>
        <member name="P:Apworks.Application.App.Interceptors">
            <summary>
            Gets a list of <see cref="T:Castle.DynamicProxy.IInterceptor"/> instances that are
            registered on the current application.
            </summary>
        </member>
        <member name="E:Apworks.Application.App.Initialize">
            <summary>
            The event that occurs when the application is initializing.
            </summary>
        </member>
        <member name="T:Apworks.Specifications.NotSpecification`1">
            <summary>
            Represents the specification which indicates the semantics opposite to the given specification.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.NotSpecification`1.#ctor(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Initializes a new instance of <c>NotSpecification&lt;T&gt;</c> class.
            </summary>
            <param name="specification">The specification to be reversed.</param>
        </member>
        <member name="M:Apworks.Specifications.NotSpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="T:Apworks.Events.Serialization.DomainEventXmlSerializer">
            <summary>
            Represents the serializer for domain events that serializes/deserializes the domain events
            with XML format.
            </summary>
        </member>
        <member name="T:Apworks.Commands.ICommandHandler`1">
            <summary>
            Represents that the implemented classes are command handlers.
            </summary>
            <typeparam name="TCommand">The type of the command to be handled.</typeparam>
        </member>
        <member name="T:Apworks.Snapshots.Serialization.SnapshotJsonSerializer">
            <summary>
            Represents the Json snapshot serializer.
            </summary>
        </member>
        <member name="T:Apworks.Exceptions.IExceptionHandler">
            <summary>
            Represents that the implemented classes are exception handlers.
            </summary>
        </member>
        <member name="M:Apworks.Exceptions.IExceptionHandler.HandleException(System.Exception)">
            <summary>
            Handles a specific exception.
            </summary>
            <param name="ex">The exception to be handled.</param>
            <returns>True if the exceptioin was successfully handled, otherwise, false.</returns>
        </member>
        <member name="T:Apworks.Snapshots.Providers.SuppressedSnapshotProvider">
            <summary>
            Represents the snapshot provider, when it is used, suppresses
            any snapshot functionalities.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.#ctor">
            <summary>
            Initializes a new instance of <c>SuppressedSnapshotProvider</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.CanCreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates
            whether the snapshot should be created or updated for the given
            aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root.</param>
            <returns>True if the snapshot should be created or updated, 
            otherwise false.</returns>
            <remarks>This method always returns false in<c>SuppressedSnapshotProvider</c>
            to prevent the snapshots being created or updated.</remarks>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.CreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Creates or updates the snapshot for the given aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root on which the snapshot is created or updated.</param>
            <remarks>For <c>SuppressedSnapshotProvider</c>, nothing is done in this method.</remarks>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.GetSnapshot(System.Type,System.Int64)">
            <summary>
            Gets the snapshot for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The snapshot instance.</returns>
            <remarks>For <c>SuppressedSnapshotProvider</c>, null reference is returned simply indicating
            that no snapshot object is being loaded.</remarks>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.HasSnapshot(System.Type,System.Int64)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates whether the snapshot
            exists for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>True if the snapshot exists, otherwise false.</returns>
            <remarks>This method always returns false in <c>SuppressedSnapshotProvider</c>
            indicating that, for any aggregate root, there is no snapshot in the system.</remarks>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.Commit">
            <summary>
            Commits the transaction.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.SuppressedSnapshotProvider.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="T:Apworks.Interception.ExceptionHandlingInterceptor">
            <summary>
            Represents the interceptor for handling exceptions.
            </summary>
        </member>
        <member name="M:Apworks.Interception.ExceptionHandlingInterceptor.Intercept(Castle.DynamicProxy.IInvocation)">
            <summary>
            Performs the intercept actions.
            </summary>
            <param name="invocation">The invocation.</param>
        </member>
        <member name="T:Apworks.Bus.RegisterDispatchAttribute">
            <summary>
            Represents that the instances of the decorated interfaces
            can be registered in a message dispatcher.
            </summary>
        </member>
        <member name="T:Apworks.Storage.StorageMappingSchema">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.StorageMappingSchema.DataTypes">
            <remarks/>
        </member>
        <member name="T:Apworks.Storage.DataTypes">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.DataTypes.DataType">
            <remarks/>
        </member>
        <member name="T:Apworks.Storage.DataType">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.DataType.Properties">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.DataType.FullName">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.DataType.MapTo">
            <remarks/>
        </member>
        <member name="T:Apworks.Storage.Properties">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.Properties.Property">
            <remarks/>
        </member>
        <member name="T:Apworks.Storage.Property">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.Property.Name">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.Property.MapTo">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.Property.Identity">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.Property.IdentitySpecified">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.Property.AutoGenerate">
            <remarks/>
        </member>
        <member name="P:Apworks.Storage.Property.AutoGenerateSpecified">
            <remarks/>
        </member>
        <member name="T:Apworks.Storage.PropertyBag">
            <summary>
            Represents the property bag that contains a list of the mapping between the properties and their values
            for a specific object.
            </summary>
        </member>
        <member name="F:Apworks.Storage.PropertyBag.PropertyBagBindingFlags">
            <summary>
            The binding flags for getting properties on a given object.
            </summary>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.#ctor">
            <summary>
            Initializes a new instance of <c>PropertyBag</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.#ctor(System.Object)">
            <summary>
            Initializes a new instance of <c>PropertyBag</c> class and populates the content by using the given object.
            </summary>
            <param name="target">The target object used for initializing the property bag.</param>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.Clear">
            <summary>
            Clears the property bag.
            </summary>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.Add(System.String,System.Object)">
            <summary>
            Adds a property and its value to the property bag.
            </summary>
            <param name="propertyName">The name of the property to be added.</param>
            <param name="propertyValue">The value of the property.</param>
            <returns>The instance with the added property.</returns>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.AddSort``1(System.String)">
            <summary>
            Adds a property to property bag, to be used as the sort field.
            </summary>
            <typeparam name="T">The type of the field.</typeparam>
            <param name="propertyName">The name of the property to be added.</param>
            <returns>The instance with the added sort field.</returns>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.ToString">
            <summary>
            Gets the <see cref="T:System.String"/> value which represents the current property bag.
            </summary>
            <returns>The <see cref="T:System.String"/> value which represents the current property bag.</returns>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:Apworks.Storage.PropertyBag.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>The enumerator.</returns>
        </member>
        <member name="P:Apworks.Storage.PropertyBag.Item(System.String)">
            <summary>
            Gets the property value by using the index.
            </summary>
            <param name="idx">The index.</param>
            <returns>The property value.</returns>
        </member>
        <member name="P:Apworks.Storage.PropertyBag.Count">
            <summary>
            Gets the number of elements in the property bag.
            </summary>
        </member>
        <member name="T:Apworks.Repositories.Repository`1">
            <summary>
            Represents the base class for repositories.
            </summary>
            <typeparam name="TAggregateRoot">The type of the aggregate root.</typeparam>
        </member>
        <member name="T:Apworks.Repositories.IRepository`1">
            <summary>
            Represents that the implemented classes are repositories.
            </summary>
            <typeparam name="TAggregateRoot">The type of the aggregate root.</typeparam>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.Add(`0)">
            <summary>
            Adds an aggregate root to the repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be added to the repository.</param>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.GetByKey(System.Object)">
            <summary>
            Gets the aggregate root instance from repository by a given key.
            </summary>
            <param name="key">The key of the aggregate root.</param>
            <returns>The instance of the aggregate root.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.GetAll">
            <summary>
            Gets all the aggregate roots from repository.
            </summary>
            <returns>All the aggregate roots got from the repository.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.GetAll(System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Gets all the aggregate roots from repository, sorting by using the provided sort predicate
            and the specified sort order.
            </summary>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots got from the repository, with the aggregate roots being sorted by
            using the provided sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.GetAll(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Gets all the aggregate roots that match the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <returns>All the aggregate roots that match the given specification.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.GetAll(Apworks.Specifications.ISpecification{`0},System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Gets all the aggregate roots that match the given specification, and sorts the aggregate roots
            by using the provided sort predicate and the specified sort order.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots that match the given specification and were sorted by using the given sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.Get(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Gets a single aggregate root instance from repository by using the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>The aggregate root instance.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.FindAll">
            <summary>
            Finds all the aggregate roots from repository.
            </summary>
            <returns>All the aggregate roots got from the repository.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.FindAll(System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Finds all the aggregate roots from repository, sorting by using the provided sort predicate
            and the specified sort order.
            </summary>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots got from the repository, with the aggregate roots being sorted by
            using the provided sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.FindAll(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Finds all the aggregate roots that match the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <returns>All the aggregate roots that match the given specification.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.FindAll(Apworks.Specifications.ISpecification{`0},System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Finds all the aggregate roots that match the given specification, and sorts the aggregate roots
            by using the provided sort predicate and the specified sort order.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots that match the given specification and were sorted by using the given sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.Find(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Finds a single aggregate root that matches the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>The instance of the aggregate root.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.Exists(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Checkes whether the aggregate root, which matches the given specification, exists in the repository.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>True if the aggregate root exists, otherwise false.</returns>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.Remove(`0)">
            <summary>
            Removes the aggregate root from current repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be removed.</param>
        </member>
        <member name="M:Apworks.Repositories.IRepository`1.Update(`0)">
            <summary>
            Updates the aggregate root in the current repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be updated.</param>
        </member>
        <member name="P:Apworks.Repositories.IRepository`1.Context">
            <summary>
            Gets the instance of the repository context on which the repository was attached.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.#ctor(Apworks.Repositories.IRepositoryContext)">
            <summary>
            Initializes a new instance of <c>Repository&lt;TAggregateRoot&gt;</c> class.
            </summary>
            <param name="context">The repository context being used by the repository.</param>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoAdd(`0)">
            <summary>
            Adds an aggregate root to the repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be added to the repository.</param>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoGetByKey(System.Object)">
            <summary>
            Gets the aggregate root instance from repository by a given key.
            </summary>
            <param name="key">The key of the aggregate root.</param>
            <returns>The instance of the aggregate root.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoGetAll">
            <summary>
            Gets all the aggregate roots from repository.
            </summary>
            <returns>All the aggregate roots got from the repository.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoGetAll(System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Gets all the aggregate roots from repository, sorting by using the provided sort predicate
            and the specified sort order.
            </summary>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots got from the repository, with the aggregate roots being sorted by
            using the provided sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoGetAll(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Gets all the aggregate roots that match the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <returns>All the aggregate roots that match the given specification.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoGetAll(Apworks.Specifications.ISpecification{`0},System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Gets all the aggregate roots that match the given specification, and sorts the aggregate roots
            by using the provided sort predicate and the specified sort order.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots that match the given specification and were sorted by using the given sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoFindAll">
            <summary>
            Finds all the aggregate roots from repository.
            </summary>
            <returns>All the aggregate roots got from the repository.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoFindAll(System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Finds all the aggregate roots from repository, sorting by using the provided sort predicate
            and the specified sort order.
            </summary>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots got from the repository, with the aggregate roots being sorted by
            using the provided sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoFindAll(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Finds all the aggregate roots that match the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <returns>All the aggregate roots that match the given specification.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoFindAll(Apworks.Specifications.ISpecification{`0},System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Finds all the aggregate roots that match the given specification, and sorts the aggregate roots
            by using the provided sort predicate and the specified sort order.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots that match the given specification and were sorted by using the given sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoGet(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Gets a single aggregate root instance from repository by using the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>The aggregate root instance.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoFind(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Finds a single aggregate root that matches the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>The instance of the aggregate root.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoExists(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Checkes whether the aggregate root, which matches the given specification, exists in the repository.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>True if the aggregate root exists, otherwise false.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoRemove(`0)">
            <summary>
            Removes the aggregate root from current repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be removed.</param>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.DoUpdate(`0)">
            <summary>
            Updates the aggregate root in the current repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be updated.</param>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.Add(`0)">
            <summary>
            Adds an aggregate root to the repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be added to the repository.</param>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.GetByKey(System.Object)">
            <summary>
            Gets the aggregate root instance from repository by a given key.
            </summary>
            <param name="key">The key of the aggregate root.</param>
            <returns>The instance of the aggregate root.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.GetAll">
            <summary>
            Gets all the aggregate roots from repository.
            </summary>
            <returns>All the aggregate roots got from the repository.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.GetAll(System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Gets all the aggregate roots from repository, sorting by using the provided sort predicate
            and the specified sort order.
            </summary>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots got from the repository, with the aggregate roots being sorted by
            using the provided sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.GetAll(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Gets all the aggregate roots that match the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <returns>All the aggregate roots that match the given specification.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.GetAll(Apworks.Specifications.ISpecification{`0},System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Gets all the aggregate roots that match the given specification, and sorts the aggregate roots
            by using the provided sort predicate and the specified sort order.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots that match the given specification and were sorted by using the given sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.Remove(`0)">
            <summary>
            Removes the aggregate root from current repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be removed.</param>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.Update(`0)">
            <summary>
            Updates the aggregate root in the current repository.
            </summary>
            <param name="aggregateRoot">The aggregate root to be updated.</param>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.Get(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Gets a single aggregate root instance from repository by using the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>The aggregate root instance.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.FindAll">
            <summary>
            Finds all the aggregate roots from repository.
            </summary>
            <returns>All the aggregate roots got from the repository.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.FindAll(System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Finds all the aggregate roots from repository, sorting by using the provided sort predicate
            and the specified sort order.
            </summary>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots got from the repository, with the aggregate roots being sorted by
            using the provided sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.FindAll(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Finds all the aggregate roots that match the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <returns>All the aggregate roots that match the given specification.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.FindAll(Apworks.Specifications.ISpecification{`0},System.Func{`0,System.Object},Apworks.Storage.SortOrder)">
            <summary>
            Finds all the aggregate roots that match the given specification, and sorts the aggregate roots
            by using the provided sort predicate and the specified sort order.
            </summary>
            <param name="specification">The specification with which the aggregate roots should match.</param>
            <param name="sortPredicate">The sort predicate which is used for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> enumeration which specifies the sort order.</param>
            <returns>All the aggregate roots that match the given specification and were sorted by using the given sort predicate and the sort order.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.Find(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Finds a single aggregate root that matches the given specification.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>The instance of the aggregate root.</returns>
        </member>
        <member name="M:Apworks.Repositories.Repository`1.Exists(Apworks.Specifications.ISpecification{`0})">
            <summary>
            Checkes whether the aggregate root, which matches the given specification, exists in the repository.
            </summary>
            <param name="specification">The specification with which the aggregate root should match.</param>
            <returns>True if the aggregate root exists, otherwise false.</returns>
        </member>
        <member name="P:Apworks.Repositories.Repository`1.Context">
            <summary>
            Gets the <see cref="T:Apworks.Repositories.IRepositoryContext"/> instance.
            </summary>
        </member>
        <member name="T:Apworks.Queries.IQueryObject">
            <summary>
            Represents that the implemented classes are query objects. For more information about
            the Query Object architectural pattern, please refer to http://martinfowler.com/eaaCatalog/queryObject.html.
            </summary>
        </member>
        <member name="T:Apworks.Serialization.SerializationException">
            <summary>
            Represents errors that occur when serializing/deserializing an object.
            </summary>
        </member>
        <member name="M:Apworks.Serialization.SerializationException.#ctor">
            <summary>
            Initializes a new instance of the <c>SerializationException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Serialization.SerializationException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>SerializationException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.Serialization.SerializationException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>SerializationException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.Serialization.SerializationException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>SerializationException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="T:Apworks.Exceptions.ExceptionManager">
            <summary>
            Represents the exception manager which handles and processes
            the exceptions.
            </summary>
        </member>
        <member name="M:Apworks.Exceptions.ExceptionManager.GetExceptionHandlers(System.Type)">
            <summary>
            Gets a list of exception handlers for a specific exception type.
            </summary>
            <param name="exceptionType">The type of the exception.</param>
            <returns>A list of exception handlers.</returns>
        </member>
        <member name="M:Apworks.Exceptions.ExceptionManager.GetExceptionHandlers``1">
            <summary>
            Gets a list of exception handlers for a specific exception type.
            </summary>
            <typeparam name="TException">The type of the exception.</typeparam>
            <returns>A list of exception handlers.</returns>
        </member>
        <member name="M:Apworks.Exceptions.ExceptionManager.GetRegisteredExceptionTypes">
            <summary>
            Gets all the exception types registered in the Apworks configuration section.
            </summary>
            <returns>A list of exception types registered.</returns>
        </member>
        <member name="M:Apworks.Exceptions.ExceptionManager.HandleException(System.Exception)">
            <summary>
            Handles a specific exception.
            </summary>
            <param name="ex">The exception to be handled.</param>
            <returns>True if the exception can be handled successfully, otherwise, false.</returns>
        </member>
        <member name="M:Apworks.Exceptions.ExceptionManager.HandleException``1(``0)">
            <summary>
            Handles a specific exception.
            </summary>
            <typeparam name="TException">The type of the exception to be handled.</typeparam>
            <param name="ex">The exception to be handled.</param>
            <returns>True if the exception can be handled successfully, otherwise, false.</returns>
        </member>
        <member name="P:Apworks.Exceptions.ExceptionManager.RegisteredExceptionCount">
            <summary>
            Gets a <see cref="T:System.Int32"/> value which represents the number of exceptions
            registered in the exception manager.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Providers.EventNumberSnapshotProvider">
            <summary>
            Represents the snapshot provider that takes the number of stored domain events
            as the strategy to implement its snapshot functionalities.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.#ctor(Apworks.Storage.IStorage,Apworks.Storage.IStorage,Apworks.Snapshots.Providers.SnapshotProviderOption,System.Int32)">
            <summary>
            Initializes a new instance of <c>EventNumberSnapshotProvider</c> class.
            </summary>
            <param name="eventStorage">The instance of the event storage that is used for initializing the <c>EventNumberSnapshotProvider</c> class.</param>
            <param name="snapshotStorage">The instance of the snapshot storage this is used for initializing the <c>EventNumberSnapshotProvider</c> class.</param>
            <param name="option">The snapshot provider option.</param>
            <param name="numOfEvents">The maximum number of events.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.CanCreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates
            whether the snapshot should be created or updated for the given
            aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root.</param>
            <returns>True if the snapshot should be created or updated, 
            otherwise false.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.CreateOrUpdateSnapshot(Apworks.ISourcedAggregateRoot)">
            <summary>
            Creates or updates the snapshot for the given aggregate root.
            </summary>
            <param name="aggregateRoot">The aggregate root on which the snapshot is created or updated.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.GetSnapshot(System.Type,System.Int64)">
            <summary>
            Gets the snapshot for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The snapshot instance.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.HasSnapshot(System.Type,System.Int64)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value which indicates whether the snapshot
            exists for the aggregate root with the given type and identifier.
            </summary>
            <param name="aggregateRootType">The type of the aggregate root.</param>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>True if the snapshot exists, otherwise false.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.Commit">
            <summary>
            Commits the transaction.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.NumberOfEvents">
            <summary>
            Gets the maximum number of events.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work supports MS-DTC.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey">
            <summary>
            Represents the class that is used as the dictionary key when
            maintaining the snapshot mappings.
            </summary>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey.#ctor(System.String,System.Int64)">
            <summary>
            Initializes a new instance of <c>EventNumberSnapshotMappingKey</c> class.
            </summary>
            <param name="typeName">The full name of the aggregate root type.</param>
            <param name="id">The aggregate root id.</param>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey.Equals(System.Object)">
            <summary>
            Checks whether the given object is equal to this object.
            </summary>
            <param name="obj">The given object to be checked.</param>
            <returns>True if the two are equal, otherwise false.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey.GetHashCode">
            <summary>
            Gets the hash code of the current object.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey.ToString">
            <summary>
            Gets the string presentation of the current object.
            </summary>
            <returns>The string presentation.</returns>
        </member>
        <member name="M:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey.Equals(Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey)">
            <summary>
            Checks whether the given object is equal to this object.
            </summary>
            <param name="other">The given object to be checked.</param>
            <returns>True if the two are equal, otherwise false.</returns>
        </member>
        <member name="P:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey.TypeName">
            <summary>
            Gets the full name of the aggregate root type.
            </summary>
        </member>
        <member name="P:Apworks.Snapshots.Providers.EventNumberSnapshotProvider.EventNumberSnapshotMappingKey.Id">
            <summary>
            Gets the aggregate root id.
            </summary>
        </member>
        <member name="T:Apworks.Storage.RdbmsStorage">
            <summary>
            Represents a relational database storage device.
            </summary>
        </member>
        <member name="T:Apworks.Storage.IStorage">
            <summary>
            Represents that the implemented classes are storages.
            </summary>
        </member>
        <member name="M:Apworks.Storage.IStorage.SelectFirstOnly``1">
            <summary>
            Gets the first-only object from storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <returns>The instance of the object.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorage.SelectFirstOnly``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Gets the first-only object from the storage by given specification.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <returns>The instance of the object.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorage.GetRecordCount``1">
            <summary>
            Gets the number of records in the storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <returns>The number of records in the storage.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorage.GetRecordCount``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Gets the number of records in the storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <returns>The number of records in the storage.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorage.Select``1">
            <summary>
            Gets a list of all objects from storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <returns>A list of the objects.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorage.Select``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Gets a list of objects from storage by given specification.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <returns>A list of the objects.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorage.Select``1(Apworks.Specifications.ISpecification{``0},Apworks.Storage.PropertyBag,Apworks.Storage.SortOrder)">
            <summary>
            Gets a list of ordered objects from storage by given specification.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <param name="orders">The <c>PropertyBag</c> instance which contains the ordering fields.</param>
            <param name="sortOrder">The sort order.</param>
            <returns>A list of ordered objects.</returns>
        </member>
        <member name="M:Apworks.Storage.IStorage.Insert``1(Apworks.Storage.PropertyBag)">
            <summary>
            Inserts the object into the storage.
            </summary>
            <typeparam name="T">The type of the object to be inserted.</typeparam>
            <param name="allFields">The <c>PropertyBag</c> instance which contains the properties and property values
            to be inserted.</param>
        </member>
        <member name="M:Apworks.Storage.IStorage.Delete``1">
            <summary>
            Deletes all objects from storage.
            </summary>
            <typeparam name="T">The type of the object to be deleted.</typeparam>
        </member>
        <member name="M:Apworks.Storage.IStorage.Delete``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Deletes specified objects from storage.
            </summary>
            <typeparam name="T">The type of the object to be deleted.</typeparam>
            <param name="specification">The specification.</param>
        </member>
        <member name="M:Apworks.Storage.IStorage.Update``1(Apworks.Storage.PropertyBag)">
            <summary>
            Updates all the objects in storage with the given values.
            </summary>
            <typeparam name="T">The type of the object to be updated.</typeparam>
            <param name="newValues">The <c>PropertyBag</c> instance which contains the properties and property values
            to be updated.</param>
        </member>
        <member name="M:Apworks.Storage.IStorage.Update``1(Apworks.Storage.PropertyBag,Apworks.Specifications.ISpecification{``0})">
            <summary>
            Updates all the objects in storage with the given values and the specification.
            </summary>
            <typeparam name="T">The type of the object to be updated.</typeparam>
            <param name="newValues">The <c>PropertyBag</c> instance which contains the properties and property values
            to be updated.</param>
            <param name="specification">The specification.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.#ctor(System.String,Apworks.Storage.IStorageMappingResolver)">
            <summary>
            Initializes a new instance of <c>RdbmsStorage</c> class.
            </summary>
            <param name="connectionString">The connection string.</param>
            <param name="mappingResolver">The mapping resolver.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.CreateWhereClauseBuilder``1">
            <summary>
            Creates a new instance of the where clause builder.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <returns>The instance of the where clause builder.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetWhereClauseBuilder``1">
            <summary>
            Gets the instance of the where clause builder for the given data type.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <returns>The instance of the where clause builder.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.CreateDatabaseConnection">
            <summary>
            Creates the database connection.
            </summary>
            <returns>The <see cref="T:System.Data.Common.DbConnection"/> instance which represents
            the open connection to the relational database.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.CreateParameter">
            <summary>
            Creates a database parameter object.
            </summary>
            <returns>The instance of database parameter object.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.CreateCommand(System.String,System.Data.Common.DbConnection)">
            <summary>
            Creates a instance of the command object.
            </summary>
            <param name="sql">The SQL statement used for creating the command object.</param>
            <param name="connection">The <see cref="T:System.Data.Common.DbConnection"/> which represents
            the database connection.</param>
            <returns>The instance of the command object.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetSelectCriteria``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets the selection criteria clause from the property bag.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="criteria">The <c>PropertyBag</c> instance which contains the criteria.</param>
            <returns>The selection criteria clause, commonly, the WHERE clause.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetSelectCriteriaDbParameterList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a list of database parameters for constructing the selection criteria clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="criteria">The <c>PropertyBag</c> instance which contains the criteria.</param>
            <returns>The list of database parameters.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetSelectCriteriaDbParameterList``1(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Gets a list of database parameters for constructing the selection criteria clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="parameterValues">The <c>Dictionary&lt;string, object&gt;</c> instance which contains the criteria.</param>
            <returns>The list of database parameters.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetOrderByFieldList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets the field list for sorting.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="orders">The <c>PropertyBag</c> instance which contains the fields for sorting.</param>
            <returns>The sorting field list, commonly, the ORDER BY clause.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetTableName``1">
            <summary>
            Gets the table name.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <returns>The table name.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetFieldName``1(System.String)">
            <summary>
            Gets the name of the field by using the specified property name.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="propertyName">The property name.</param>
            <returns>The field name in relational database tables.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetFieldNameList``1">
            <summary>
            Gets the list of the field names, separated by the comma character.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <returns>The field names, separated by the comma character.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetFieldNameList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets the list of the field names, separated by the comma character, by using the
            specified fields.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="allFields">The <c>PropertyBag</c> object that contains the specified fields.</param>
            <returns>The field names, separated by the comma character.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetInsertFieldNameList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a comma separated list of the field names for INSERT operation, by using the specified
            fields.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="fields">The <c>PropertyBag</c> instance which contains the fields.</param>
            <returns>The comma separated list of the field names for INSERT operation.</returns>
            <remarks>The auto-generated identity fields will be omitted.</remarks>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetInsertParameterNameList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a comma separated list of the field parameter names for INSERT operation, by using the
            specified fields.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="fields">The <c>PropertyBag</c> object which contains the fields.</param>
            <returns>The comma separated list of the field parameter names for INSERT operation.</returns>
            <remarks>The auto-generated identity fields will be omitted.</remarks>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetInsertDbParameterList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a list of database parameters used by the INSERT operation, by using the specified
            fields.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="fields">The <c>PropertyBag</c> object which contains the fields.</param>
            <returns>The list of database parameters.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetUpdateCriteria``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a <see cref="T:System.String"/> value which represents the selection criteria in the UPDATE clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="criteria">The <c>PropertyBag</c> object which contains the fields for selection criteria.</param>
            <returns>A <see cref="T:System.String"/> value which represents the selection criteria in the UPDATE clause.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetUpdateCriteriaDbParameterList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a list of database parameters used by the UPDATE operation as the update criteria.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="criteria">The <c>PropertyBag</c> object which contains the fields for selection criteria.</param>
            <returns>The list of database parameters.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetUpdateCriteriaDbParameterList``1(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Creates the <see cref="T:System.Data.Common.DbParameter"/> list which contains the parameter
            definitions to be used in the UPDATE WHERE clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="parameterValues">The parameter values.</param>
            <returns>A list of <see cref="T:System.Data.Common.DbParameter"/> objects.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetUpdateFieldList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a comma separated <see cref="T:System.String"/> value which represents the fields
            that needs to be updated to the new values.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="newValues">The <c>PropertyBag</c> object which contains the fields and their
            new values to be updated.</param>
            <returns>A comma separated <see cref="T:System.String"/> value which represents the fields.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetUpdateDbParameterList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets the database parameters that are used for update the fields in UPDATE clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="newValues">The <c>PropertyBag</c> object which contains the fields and their
            new values to be updated.</param>
            <returns>The database parameters.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetDeleteCriteria``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets a <see cref="T:System.String"/> value which represents the selection criteria in the DELETE clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="criteria">The <c>PropertyBag</c> object which contains the fields for selection criteria.</param>
            <returns>A <see cref="T:System.String"/> value which represents the selection criteria in the DELETE clause.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetDeleteDbParameterList``1(Apworks.Storage.PropertyBag)">
            <summary>
            Gets the database parameters that are used for update the fields in DELETE clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="criteria">The <c>PropertyBag</c> object which contains the fields and their
            new values to be updated.</param>
            <returns>The database parameters.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetDeleteDbParameterList``1(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Creates the <see cref="T:System.Data.Common.DbParameter"/> list which contains the parameter
            definitions to be used in the DELETE WHERE clause.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="parameterValues">The parameter values.</param>
            <returns>A list of <see cref="T:System.Data.Common.DbParameter"/> objects.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.CreateFromReader``1(System.Data.Common.DbDataReader)">
            <summary>
            Creates the data object instance from a <see cref="T:System.Data.Common.DbDataReader"/> instance.
            </summary>
            <typeparam name="T">The type of the object to be created.</typeparam>
            <param name="reader">The <see cref="T:System.Data.Common.DbDataReader"/> instance.</param>
            <returns>The data object instance.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.DoGetRecordCount``1(Apworks.Specifications.ISpecification{``0},System.Data.Common.DbConnection,System.Data.Common.DbTransaction)">
            <summary>
            Gets the number of records existing in the current storage.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="specification">The instance of <see cref="T:Apworks.Specifications.ISpecification`1"/>
            which represents the filter criteria.</param>
            <param name="connection">The instance of <see cref="T:System.Data.Common.DbConnection"/> which represents
            the connection to a database.</param>
            <param name="transaction">The instance of <see cref="T:System.Data.Common.DbTransaction"/> which represents
            the database transaction.</param>
            <returns>The number of records.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.DoSelectFirstOnly``1(Apworks.Specifications.ISpecification{``0},System.Data.Common.DbConnection,System.Data.Common.DbTransaction)">
            <summary>
            Selects the first-only object from the current storage.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="specification">The instance of <see cref="T:Apworks.Specifications.ISpecification`1"/>
            which represents the filter criteria.</param>
            <param name="connection">The instance of <see cref="T:System.Data.Common.DbConnection"/> which represents
            the connection to a database.</param>
            <param name="transaction">The instance of <see cref="T:System.Data.Common.DbTransaction"/> which represents
            the database transaction.</param>
            <returns>The first-only object that exists in the current storage.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.DoSelect``1(Apworks.Specifications.ISpecification{``0},Apworks.Storage.PropertyBag,Apworks.Storage.SortOrder,System.Data.Common.DbConnection,System.Data.Common.DbTransaction)">
            <summary>
            Selects all the object from the current storage.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="specification">The instance of <see cref="T:Apworks.Specifications.ISpecification`1"/>
            which represents the filter criteria.</param>
            <param name="orders">The <see cref="T:Apworks.Storage.PropertyBag"/> which represents the fields for sorting.</param>
            <param name="sortOrder">The <see cref="T:Apworks.Storage.SortOrder"/> value which represents the sort order.</param>
            <param name="connection">The instance of <see cref="T:System.Data.Common.DbConnection"/> which represents
            the connection to a database.</param>
            <param name="transaction">The instance of <see cref="T:System.Data.Common.DbTransaction"/> which represents
            the database transaction.</param>
            <returns>All the objects selected.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.DoInsert``1(Apworks.Storage.PropertyBag,System.Data.Common.DbConnection,System.Data.Common.DbTransaction)">
            <summary>
            Inserts an object into current storage.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="allFields">The fields to be inserted.</param>
            <param name="connection">The instance of <see cref="T:System.Data.Common.DbConnection"/> which represents
            the connection to a database.</param>
            <param name="transaction">The instance of <see cref="T:System.Data.Common.DbTransaction"/> which represents
            the database transaction.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.DoDelete``1(Apworks.Specifications.ISpecification{``0},System.Data.Common.DbConnection,System.Data.Common.DbTransaction)">
            <summary>
            Deletes an object from current storage.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="specification">The instance of <see cref="T:Apworks.Specifications.ISpecification`1"/>
            which represents the filter criteria.</param>
            <param name="connection">The instance of <see cref="T:System.Data.Common.DbConnection"/> which represents
            the connection to a database.</param>
            <param name="transaction">The instance of <see cref="T:System.Data.Common.DbTransaction"/> which represents
            the database transaction.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.DoUpdate``1(Apworks.Storage.PropertyBag,Apworks.Specifications.ISpecification{``0},System.Data.Common.DbConnection,System.Data.Common.DbTransaction)">
            <summary>
            Updates the object with new values.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="newValues">The <see cref="T:Apworks.Storage.PropertyBag"/> which contains the new values.</param>
            <param name="specification">The instance of <see cref="T:Apworks.Specifications.ISpecification`1"/>
            which represents the filter criteria.</param>
            <param name="connection">The instance of <see cref="T:System.Data.Common.DbConnection"/> which represents
            the connection to a database.</param>
            <param name="transaction">The instance of <see cref="T:System.Data.Common.DbTransaction"/> which represents
            the database transaction.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.SelectFirstOnly``1">
            <summary>
            Gets the first only object from storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <returns>The instance of the object.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.SelectFirstOnly``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Gets the first-only object from the storage by given specification.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <returns>The instance of the object.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetRecordCount``1">
            <summary>
            Gets the number of records in the storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <returns>The number of records in the storage.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.GetRecordCount``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Gets the number of records in the storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <returns>The number of records in the storage.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Select``1">
            <summary>
            Gets a list of all objects from storage.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <returns>A list of the objects.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Select``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Gets a list of objects from storage by given specification.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <returns>A list of the objects.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Select``1(Apworks.Specifications.ISpecification{``0},Apworks.Storage.PropertyBag,Apworks.Storage.SortOrder)">
            <summary>
            Gets a list of ordered objects from storage by given specification.
            </summary>
            <typeparam name="T">The type of the object to get.</typeparam>
            <param name="specification">The specification.</param>
            <param name="orders">The <c>PropertyBag</c> instance which contains the ordering fields.</param>
            <param name="sortOrder">The sort order.</param>
            <returns>A list of ordered objects.</returns>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Insert``1(Apworks.Storage.PropertyBag)">
            <summary>
            Inserts the object into the storage.
            </summary>
            <typeparam name="T">The type of the object to be inserted.</typeparam>
            <param name="allFields">The <c>PropertyBag</c> instance which contains the properties and property values
            to be inserted.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Delete``1">
            <summary>
            Deletes all objects from storage.
            </summary>
            <typeparam name="T">The type of the object to be deleted.</typeparam>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Delete``1(Apworks.Specifications.ISpecification{``0})">
            <summary>
            Deletes specified objects from storage.
            </summary>
            <typeparam name="T">The type of the object to be deleted.</typeparam>
            <param name="specification">The specification.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Update``1(Apworks.Storage.PropertyBag)">
            <summary>
            Updates all the objects in storage with the given values.
            </summary>
            <typeparam name="T">The type of the object to be updated.</typeparam>
            <param name="newValues">The <c>PropertyBag</c> instance which contains the properties and property values
            to be updated.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Update``1(Apworks.Storage.PropertyBag,Apworks.Specifications.ISpecification{``0})">
            <summary>
            Updates all the objects in storage with the given values and the specification.
            </summary>
            <typeparam name="T">The type of the object to be updated.</typeparam>
            <param name="newValues">The <c>PropertyBag</c> instance which contains the properties and property values
            to be updated.</param>
            <param name="specification">The specification.</param>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Commit">
            <summary>
            Commits the transaction.
            </summary>
        </member>
        <member name="M:Apworks.Storage.RdbmsStorage.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Storage.RdbmsStorage.ConnectionString">
            <summary>
            Gets the connection string.
            </summary>
        </member>
        <member name="P:Apworks.Storage.RdbmsStorage.MappingResolver">
            <summary>
            Gets the instance of the storage mapping resolver.
            </summary>
        </member>
        <member name="P:Apworks.Storage.RdbmsStorage.IsolationLevel">
            <summary>
            Gets a <see cref="T:System.Data.IsolationLevel"/> value which represents the transaction
            locking behavior for the connection.
            </summary>
        </member>
        <member name="P:Apworks.Storage.RdbmsStorage.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work supports MS-DTC.
            </summary>
        </member>
        <member name="P:Apworks.Storage.RdbmsStorage.Committed">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work was successfully committed.
            </summary>
        </member>
        <member name="T:Apworks.Specifications.CompositeSpecification`1">
            <summary>
            Represents the base class for composite specifications.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.CompositeSpecification`1.#ctor(Apworks.Specifications.ISpecification{`0},Apworks.Specifications.ISpecification{`0})">
            <summary>
            Constructs a new instance of <c>CompositeSpecification&lt;T&gt;</c> class.
            </summary>
            <param name="left">The first specification.</param>
            <param name="right">The second specification.</param>
        </member>
        <member name="P:Apworks.Specifications.CompositeSpecification`1.Left">
            <summary>
            Gets the first specification.
            </summary>
        </member>
        <member name="P:Apworks.Specifications.CompositeSpecification`1.Right">
            <summary>
            Gets the second specification.
            </summary>
        </member>
        <member name="T:Apworks.Queries.Storage.IQueryObjectStorage">
            <summary>
            Represents that the implemented classes are query object storages.
            </summary>
        </member>
        <member name="T:Apworks.Events.IDomainEventHandler">
            <summary>
            Represents that the implemented classes are domain event handlers.
            </summary>
        </member>
        <member name="M:Apworks.Events.IDomainEventHandler.CanHandle(Apworks.Events.IDomainEvent)">
            <summary>
            Checks whether the specified domain event could be handled by the current handler.
            </summary>
            <param name="domainEvent">The domain event to be checked.</param>
            <returns>True if the specified domain event can be handled by the current handler, otherwise false.</returns>
        </member>
        <member name="T:Apworks.Storage.SortOrder">
            <summary>
            Represents the sorting style.
            </summary>
        </member>
        <member name="F:Apworks.Storage.SortOrder.Unspecified">
            <summary>
            Indicates that the sorting style is not specified.
            </summary>
        </member>
        <member name="F:Apworks.Storage.SortOrder.Ascending">
            <summary>
            Indicates an ascending sorting.
            </summary>
        </member>
        <member name="F:Apworks.Storage.SortOrder.Descending">
            <summary>
            Indicates a descending sorting.
            </summary>
        </member>
        <member name="T:Apworks.SourcedAggregateRoot">
            <summary>
            Represents the base class for aggregate roots that support the event sourcing mechanism.
            </summary>
        </member>
        <member name="F:Apworks.SourcedAggregateRoot.UpdateVersionAndClearUncommittedEventsMethodName">
            <summary>
            The name of the method that updates the aggregate root version
            and clears the uncommitted events.
            </summary>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.#ctor">
            <summary>
            Initializes a new instance of <c>SourcedAggregateRoot</c> class.
            </summary>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of <c>SourcedAggregateRoot</c> class.
            </summary>
            <param name="id">The unique identifier of the aggregate root.</param>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.GetDomainEventHandlers(Apworks.Events.IDomainEvent)">
            <summary>
            Gets all the valid domain event handlers for the specific domain event.
            </summary>
            <param name="domainEvent">The domain event on which the handlers should be retrieved.</param>
            <returns>The domain event handlers.</returns>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.HandleEvent``1(``0)">
            <summary>
            Handles the given domain event on the aggregate root.
            </summary>
            <typeparam name="TEvent">The type of the domain event.</typeparam>
            <param name="event">The domain event which needs to be handled by aggregate root.</param>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.RaiseEvent``1(``0)">
            <summary>
            Raises a domain event.
            </summary>
            <typeparam name="TEvent">The type of the domain event.</typeparam>
            <param name="event">The domain event to be raised.</param>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.DoBuildFromSnapshot(Apworks.Snapshots.ISnapshot)">
            <summary>
            When overrided in the derived classes, builds the aggregate from the given snapshot instance.
            </summary>
            <param name="snapshot">The <see cref="T:Apworks.Snapshots.ISnapshot"/> instance
            with which the aggregate is built.</param>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.DoCreateSnapshot">
            <summary>
            When overrided in the derived classes, creates the snapshot instance based on the current aggregate.
            </summary>
            <returns>The <see cref="T:Apworks.Snapshots.ISnapshot"/> instance that is created based on
            the current aggregate.</returns>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.UpdateVersionAndClearUncommittedEvents">
            <summary>
            Updates the version of the aggregate root and clears all uncommitted events.
            </summary>
            <remarks>This method is handled by the Apworks framework internally and should not be referenced in any circumstances.</remarks>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.GetHashCode">
            <summary>
            Returns the hash code for current aggregate root.
            </summary>
            <returns>The calculated hash code for the current aggregate root.</returns>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.Equals(System.Object)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            object.
            </summary>
            <param name="obj">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.ISourcedAggregateRoot"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.BuildFromHistory(System.Collections.Generic.IEnumerable{Apworks.Events.IDomainEvent})">
            <summary>
            Builds the aggreate from the historial events.
            </summary>
            <param name="historicalEvents">The historical events from which the aggregate is built.</param>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.BuildFromSnapshot(Apworks.Snapshots.ISnapshot)">
            <summary>
            Builds the aggregate from the specified snapshot instance.
            </summary>
            <param name="snapshot">The <see cref="T:Apworks.Snapshots.ISnapshot"/> instance
            with which the aggregate is built.</param>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.CreateSnapshot">
            <summary>
            Creates the snapshot instance based on the current aggregate.
            </summary>
            <returns>The <see cref="T:Apworks.Snapshots.ISnapshot"/> instance that is created based on
            the current aggregate.</returns>
        </member>
        <member name="M:Apworks.SourcedAggregateRoot.Equals(Apworks.IEntity)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            entity.
            </summary>
            <param name="other">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.ISourcedAggregateRoot"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="P:Apworks.SourcedAggregateRoot.UncommittedEvents">
            <summary>
            Gets all the uncommitted events.
            </summary>
        </member>
        <member name="P:Apworks.SourcedAggregateRoot.Version">
            <summary>
            Gets the version of the aggregate.
            </summary>
        </member>
        <member name="P:Apworks.SourcedAggregateRoot.Branch">
            <summary>
            Gets the branch on which the aggregate exists.
            </summary>
        </member>
        <member name="P:Apworks.SourcedAggregateRoot.Id">
            <summary>
            Gets or sets the identifier of the aggregate root.
            </summary>
        </member>
        <member name="T:Apworks.Events.Serialization.DomainEventDataContractSerializer">
            <summary>
            Represents the serializer for domain events that serializes/deserializes the domain events
            with DataContract format.
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Serialization.SnapshotBinarySerializer">
            <summary>
            Represents the binary snapshot serializer.
            </summary>
        </member>
        <member name="T:Apworks.Bus.DispatchingException">
            <summary>
            Represents the errors occur when dispatching the messages.
            </summary>
        </member>
        <member name="M:Apworks.Bus.DispatchingException.#ctor">
            <summary>
            Initializes a new instance of the <c>DispatcherException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Bus.DispatchingException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>DispatcherException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.Bus.DispatchingException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>DispatcherException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.Bus.DispatchingException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>DispatcherException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="T:Apworks.Storage.XmlStorageMappingResolver">
            <summary>
            Represents the XML storage mapping resolver.
            </summary>
        </member>
        <member name="M:Apworks.Storage.XmlStorageMappingResolver.#ctor(System.String)">
            <summary>
            Initializes a new instance of <c>XmlStorageMappingResolver</c> class.
            </summary>
            <param name="fileName">The file name of the external XML mapping file.</param>
        </member>
        <member name="M:Apworks.Storage.XmlStorageMappingResolver.ResolveTableName``1">
            <summary>
            Resolves the table name by using the given type.
            </summary>
            <typeparam name="T">The type of the object to be resolved.</typeparam>
            <returns>The table name.</returns>
        </member>
        <member name="M:Apworks.Storage.XmlStorageMappingResolver.ResolveFieldName``1(System.String)">
            <summary>
            Resolves the field name by using the given type and property name.
            </summary>
            <typeparam name="T">The type of the object to be resolved.</typeparam>
            <param name="propertyName">The property name.</param>
            <returns>The field name.</returns>
        </member>
        <member name="M:Apworks.Storage.XmlStorageMappingResolver.IsAutoIdentityField``1(System.String)">
            <summary>
            Checks if the given property is mapped to an auto-generated identity field.
            </summary>
            <typeparam name="T">The type of the object to be resolved.</typeparam>
            <param name="propertyName">The property name.</param>
            <returns>True if the field is mapped to an auto-generated identity, otherwise false.</returns>
        </member>
        <member name="T:Apworks.Generators.SequentialIdentityGenerator">
            <summary>
            Represents the sequential identity generator.
            </summary>
        </member>
        <member name="T:Apworks.Generators.IIdentityGenerator">
            <summary>
            Represents that the implemented classes are identity generators.
            </summary>
        </member>
        <member name="M:Apworks.Generators.IIdentityGenerator.Generate">
            <summary>
            Generates the identity.
            </summary>
            <returns>The generated identity instance.</returns>
        </member>
        <member name="T:Apworks.Generators.ISequenceGenerator">
            <summary>
            Represents that the implemented classes are sequence generators.
            </summary>
        </member>
        <member name="P:Apworks.Generators.ISequenceGenerator.Next">
            <summary>
            Gets the next value of the sequence.
            </summary>
        </member>
        <member name="M:Apworks.Generators.SequentialIdentityGenerator.Generate">
            <summary>
            Generates the identity.
            </summary>
            <returns>The generated identity instance.</returns>
        </member>
        <member name="P:Apworks.Generators.SequentialIdentityGenerator.Counter">
            <summary>
            Gets the next counter value.
            </summary>
        </member>
        <member name="P:Apworks.Generators.SequentialIdentityGenerator.Next">
            <summary>
            Gets the next value of the sequence.
            </summary>
        </member>
        <member name="T:Apworks.Events.Storage.DomainEventDataObject">
            <summary>
            Represents the domain event data object which holds the data of a specific domain event.
            </summary>
            <remarks>The <c>DomainEventDataObject</c> class implemented the Data Transfer Object pattern
            that was described in Martin Fowler's book, Patterns of Enterprise Application Architecture.
            For more information about Data Transfer Object pattern, please refer to http://martinfowler.com/eaaCatalog/dataTransferObject.html.
            </remarks>
        </member>
        <member name="M:Apworks.Events.Storage.DomainEventDataObject.#ctor">
            <summary>
            Initializes a new instance of the domain event data object.
            </summary>
        </member>
        <member name="M:Apworks.Events.Storage.DomainEventDataObject.GetDomainEventSerializer">
            <summary>
            Gets the serializer for domain events.
            </summary>
            <returns>The domain event serializer instance.</returns>
        </member>
        <member name="M:Apworks.Events.Storage.DomainEventDataObject.FromDomainEvent(Apworks.Events.IDomainEvent)">
            <summary>
            Creates and initializes the domain event data object from the given domain event.
            </summary>
            <param name="entity">The domain event instance from which the domain event data object
            is created and initialized.</param>
            <returns>The initialized data object instance.</returns>
        </member>
        <member name="M:Apworks.Events.Storage.DomainEventDataObject.ToDomainEvent">
            <summary>
            Converts the domain event data object to its corresponding domain event entity instance.
            </summary>
            <returns>The domain event entity instance that is converted from the current domain event data object.</returns>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.Data">
            <summary>
            Gets or sets an array of <see cref="T:System.Byte"/> value which holds the data
            of current domain event object.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.AssemblyQualifiedTypeName">
            <summary>
            Gets or sets the assembly qualified name of the type of the domain event.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.Branch">
            <summary>
            Gets or sets the branch on which domain event data object exists.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.Id">
            <summary>
            Gets or sets the identifier of the domain event.
            </summary>
            <remarks>Note that since the <c>DomainEventDataObject</c> is the data
            presentation of the corresponding domain event object, this identifier value
            can also be considered to be the identifier for the <c>DomainEventDataObject</c> instance.</remarks>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.AggregateRootId">
            <summary>
            Gets or sets the identifier of the aggregate root which holds the instance
            of the current domain event.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.AggregateRootType">
            <summary>
            Gets or sets the assembly qualified name of the type of the aggregate root.
            </summary>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.Timestamp">
            <summary>
            Gets or sets the date and time on which the event was produced.
            </summary>
            <remarks>The format of this date/time value could be various between different
            systems. Apworks recommend system designer or architect uses the standard
            UTC date/time format.</remarks>
        </member>
        <member name="P:Apworks.Events.Storage.DomainEventDataObject.Version">
            <summary>
            Gets or sets the version of the domain event data object.
            </summary>
        </member>
        <member name="T:Apworks.Commands.Command">
            <summary>
            Represents the base class of the commands.
            </summary>
        </member>
        <member name="M:Apworks.Commands.Command.#ctor">
            <summary>
            Initializes a new instance of the <c>Command</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Commands.Command.#ctor(System.Int64)">
            <summary>
            Initializes a new instance of the <c>Command</c> class.
            </summary>
            <param name="id">The identifier which identifies a single command instance.</param>
        </member>
        <member name="M:Apworks.Commands.Command.GetHashCode">
            <summary>
            Returns the hash code for current command object.
            </summary>
            <returns>The calculated hash code for the current command object.</returns>
        </member>
        <member name="M:Apworks.Commands.Command.Equals(System.Object)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            object.
            </summary>
            <param name="obj">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.Commands.ICommand"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="M:Apworks.Commands.Command.Equals(Apworks.IEntity)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value indicating whether this instance is equal to a specified
            object.
            </summary>
            <param name="other">An object to compare with this instance.</param>
            <returns>True if obj is an instance of the <see cref="T:Apworks.Commands.ICommand"/> type and equals the value of this
            instance; otherwise, false.</returns>
        </member>
        <member name="P:Apworks.Commands.Command.Id">
            <summary>
            Gets or sets the identifier of the command instance.
            </summary>
        </member>
        <member name="T:Apworks.Specifications.AndNotSpecification`1">
            <summary>
            Represents the combined specification which indicates that the first specification
            can be satisifed by the given object whereas the second one cannot.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.AndNotSpecification`1.#ctor(Apworks.Specifications.ISpecification{`0},Apworks.Specifications.ISpecification{`0})">
            <summary>
            Constructs a new instance of <c>AndNotSpecification&lt;T&gt;</c> class.
            </summary>
            <param name="left">The first specification.</param>
            <param name="right">The second specification.</param>
        </member>
        <member name="M:Apworks.Specifications.AndNotSpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="T:Apworks.Repositories.EventPublisherDomainRepository">
            <summary>
            Represents the base class for domain repositories that would publish
            domain events to the event bus while saving the aggregates.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.EventPublisherDomainRepository.#ctor(Apworks.Bus.IEventBus)">
            <summary>
            Initializes a new instance of <c>EventPublisherDomainRepository</c> class.
            </summary>
            <param name="eventBus">The <see cref="T:Apworks.Bus.IEventBus"/> instance
            to which the domain events are published.</param>
        </member>
        <member name="M:Apworks.Repositories.EventPublisherDomainRepository.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Repositories.EventPublisherDomainRepository.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.EventPublisherDomainRepository.EventBus">
            <summary>
            Gets the <see cref="T:Apworks.Bus.IEventBus"/> instance to which the domain events are published.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.EventPublisherDomainRepository.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="T:Apworks.Config.ExceptionHandlingBehavior">
            <remarks />
        </member>
        <member name="F:Apworks.Config.ExceptionHandlingBehavior.Direct">
            <remarks />
        </member>
        <member name="F:Apworks.Config.ExceptionHandlingBehavior.Forward">
            <remarks />
        </member>
        <member name="T:Apworks.Config.HandlerKind">
            <remarks />
        </member>
        <member name="F:Apworks.Config.HandlerKind.Command">
            <remarks />
        </member>
        <member name="F:Apworks.Config.HandlerKind.Event">
            <remarks />
        </member>
        <member name="T:Apworks.Config.HandlerSourceType">
            <remarks />
        </member>
        <member name="F:Apworks.Config.HandlerSourceType.Type">
            <remarks />
        </member>
        <member name="F:Apworks.Config.HandlerSourceType.Assembly">
            <remarks />
        </member>
        <member name="T:Apworks.Config.ApplicationElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ApplicationElement.Provider">
            <remarks />
        </member>
        <member name="T:Apworks.Config.ExceptionElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionElement.Type">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionElement.Behavior">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionElement.Handlers">
            <remarks />
        </member>
        <member name="T:Apworks.Config.ExceptionHandlerElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionHandlerElement.Type">
            <remarks />
        </member>
        <member name="T:Apworks.Config.SequenceGeneratorElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.SequenceGeneratorElement.Provider">
            <remarks />
        </member>
        <member name="T:Apworks.Config.IdentityGeneratorElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.IdentityGeneratorElement.Provider">
            <remarks />
        </member>
        <member name="T:Apworks.Config.GeneratorElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.GeneratorElement.SequenceGenerator">
            <remarks />
        </member>
        <member name="P:Apworks.Config.GeneratorElement.IdentityGenerator">
            <remarks />
        </member>
        <member name="T:Apworks.Config.HandlerElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.HandlerElement.Name">
            <remarks />
        </member>
        <member name="P:Apworks.Config.HandlerElement.Kind">
            <remarks />
        </member>
        <member name="P:Apworks.Config.HandlerElement.SourceType">
            <remarks />
        </member>
        <member name="P:Apworks.Config.HandlerElement.Source">
            <remarks />
        </member>
        <member name="T:Apworks.Config.ObjectContainerElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ObjectContainerElement.Provider">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ObjectContainerElement.InitFromConfigFile">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ObjectContainerElement.SectionName">
            <remarks />
        </member>
        <member name="T:Apworks.Config.EventSerializerElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.EventSerializerElement.Provider">
            <remarks />
        </member>
        <member name="T:Apworks.Config.SnapshotSerializerElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.SnapshotSerializerElement.Provider">
            <remarks />
        </member>
        <member name="T:Apworks.Config.SerializerElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.SerializerElement.EventSerializer">
            <remarks />
        </member>
        <member name="P:Apworks.Config.SerializerElement.SnapshotSerializer">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptorElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptorElement.Name">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptorElement.Type">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptorRefElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptorRefElement.Name">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptMethodElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptMethodElement.Signature">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptMethodElement.InterceptorRefs">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptContractElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptContractElement.Type">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptContractElement.Methods">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptionElement">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptionElement.Interceptors">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptionElement.Contracts">
            <remarks />
        </member>
        <member name="T:Apworks.Config.ExceptionElementCollection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionElementCollection.CreateNewElement">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionElementCollection.Add(Apworks.Config.ExceptionElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionElementCollection.GetElementAt(System.Int32)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionElementCollection.SetElementAt(System.Int32,Apworks.Config.ExceptionElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionElementCollection.Clear">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionElementCollection.ElementName">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionElementCollection.CollectionType">
            <remarks />
        </member>
        <member name="T:Apworks.Config.ExceptionHandlerElementCollection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionHandlerElementCollection.CreateNewElement">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionHandlerElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionHandlerElementCollection.Add(Apworks.Config.ExceptionHandlerElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionHandlerElementCollection.GetElementAt(System.Int32)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionHandlerElementCollection.SetElementAt(System.Int32,Apworks.Config.ExceptionHandlerElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.ExceptionHandlerElementCollection.Clear">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionHandlerElementCollection.ElementName">
            <remarks />
        </member>
        <member name="P:Apworks.Config.ExceptionHandlerElementCollection.CollectionType">
            <remarks />
        </member>
        <member name="T:Apworks.Config.HandlerElementCollection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.HandlerElementCollection.CreateNewElement">
            <remarks />
        </member>
        <member name="M:Apworks.Config.HandlerElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.HandlerElementCollection.Add(Apworks.Config.HandlerElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.HandlerElementCollection.GetElementAt(System.Int32)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.HandlerElementCollection.SetElementAt(System.Int32,Apworks.Config.HandlerElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.HandlerElementCollection.Clear">
            <remarks />
        </member>
        <member name="P:Apworks.Config.HandlerElementCollection.ElementName">
            <remarks />
        </member>
        <member name="P:Apworks.Config.HandlerElementCollection.CollectionType">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptorElementCollection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorElementCollection.CreateNewElement">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorElementCollection.Add(Apworks.Config.InterceptorElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorElementCollection.GetElementAt(System.Int32)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorElementCollection.SetElementAt(System.Int32,Apworks.Config.InterceptorElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorElementCollection.Clear">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptorElementCollection.ElementName">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptorElementCollection.CollectionType">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptorRefElementCollection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorRefElementCollection.CreateNewElement">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorRefElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorRefElementCollection.Add(Apworks.Config.InterceptorRefElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorRefElementCollection.GetElementAt(System.Int32)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorRefElementCollection.SetElementAt(System.Int32,Apworks.Config.InterceptorRefElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptorRefElementCollection.Clear">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptorRefElementCollection.ElementName">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptorRefElementCollection.CollectionType">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptMethodElementCollection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptMethodElementCollection.CreateNewElement">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptMethodElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptMethodElementCollection.Add(Apworks.Config.InterceptMethodElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptMethodElementCollection.GetElementAt(System.Int32)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptMethodElementCollection.SetElementAt(System.Int32,Apworks.Config.InterceptMethodElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptMethodElementCollection.Clear">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptMethodElementCollection.ElementName">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptMethodElementCollection.CollectionType">
            <remarks />
        </member>
        <member name="T:Apworks.Config.InterceptContractElementCollection">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptContractElementCollection.CreateNewElement">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptContractElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptContractElementCollection.Add(Apworks.Config.InterceptContractElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptContractElementCollection.GetElementAt(System.Int32)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptContractElementCollection.SetElementAt(System.Int32,Apworks.Config.InterceptContractElement)">
            <remarks />
        </member>
        <member name="M:Apworks.Config.InterceptContractElementCollection.Clear">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptContractElementCollection.ElementName">
            <remarks />
        </member>
        <member name="P:Apworks.Config.InterceptContractElementCollection.CollectionType">
            <remarks />
        </member>
        <member name="T:Apworks.Repositories.IRepositoryContext">
            <summary>
            Represents that the implemented classes are repository transaction contexts.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.IRepositoryContext.RegisterNew(System.Object)">
            <summary>
            Registers a new object to the repository context.
            </summary>
            <param name="obj">The object to be registered.</param>
        </member>
        <member name="M:Apworks.Repositories.IRepositoryContext.RegisterModified(System.Object)">
            <summary>
            Registers a modified object to the repository context.
            </summary>
            <param name="obj">The object to be registered.</param>
        </member>
        <member name="M:Apworks.Repositories.IRepositoryContext.RegisterDeleted(System.Object)">
            <summary>
            Registers a deleted object to the repository context.
            </summary>
            <param name="obj">The object to be registered.</param>
        </member>
        <member name="M:Apworks.Repositories.IRepositoryContext.GetRepository``1">
            <summary>
            Gets the repository instance from the transaction context according
            to the given aggregate root type.
            </summary>
            <typeparam name="TAggregateRoot">The type of the aggregate root.</typeparam>
            <returns>The repository instance for the specified aggregate root type.</returns>
        </member>
        <member name="T:Apworks.Repositories.RegularEventPublisherDomainRepository">
            <summary>
            Represents the domain repository that uses the <see cref="T:Apworks.Repositories.IRepositoryContext"/>
            and <see cref="T:Apworks.Repositories.IRepository`1"/> instances to perform aggregate
            operations and publishes the domain events to the specified event bus.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.RegularEventPublisherDomainRepository.#ctor(Apworks.Repositories.IRepositoryContext,Apworks.Bus.IEventBus)">
            <summary>
            Initializes a new instance of <c>RegularEventPublisherDomainRepository</c> class.
            </summary>
            <param name="context">The <see cref="T:Apworks.Repositories.IRepositoryContext"/>instance
            that is used by the current domain repository to perform aggregate operations.</param>
            <param name="eventBus">The event bus to which the domain events are published.</param>
        </member>
        <member name="M:Apworks.Repositories.RegularEventPublisherDomainRepository.DoCommit">
            <summary>
            Commits the changes registered in the domain repository.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.RegularEventPublisherDomainRepository.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Repositories.RegularEventPublisherDomainRepository.Get``1(System.Int64)">
            <summary>
            Gets the instance of the aggregate root with the specified identifier.
            </summary>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The instance of the aggregate root with the specified identifier.</returns>
        </member>
        <member name="M:Apworks.Repositories.RegularEventPublisherDomainRepository.Save``1(``0)">
            <summary>
            Saves the aggregate represented by the specified aggregate root to the repository.
            </summary>
            <param name="aggregateRoot">The aggregate root that is going to be saved.</param>
        </member>
        <member name="M:Apworks.Repositories.RegularEventPublisherDomainRepository.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.RegularEventPublisherDomainRepository.Context">
            <summary>
            Gets the <see cref="T:Apworks.Repositories.IRepositoryContext"/>instance
            that is used by the current domain repository to perform aggregate operations.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.RegularEventPublisherDomainRepository.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="T:Apworks.Config.RegularConfigSource">
            <summary>
            Represents the configuration source that uses the programming
            code to initialize the Apworks configuration section.
            </summary>
        </member>
        <member name="M:Apworks.Config.RegularConfigSource.#ctor">
            <summary>
            Initializes a new instance of <c>RegularConfigSource</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Config.RegularConfigSource.AddHandler(System.String,Apworks.Config.HandlerKind,Apworks.Config.HandlerSourceType,System.String)">
            <summary>
            Adds a command or event handler to the ConfigSource.
            </summary>
            <param name="name">Name of the handler to be added.</param>
            <param name="kind">The <see cref="T:Apworks.Config.HandlerKind"/> value which
            represents the kind of the message.</param>
            <param name="sourceType">The <see cref="T:Apworks.Config.HandlerSourceType"/> value
            which indicates where the handler exists. This could be either a type or an assembly.</param>
            <param name="source">The identifier of the source, for <c>sourceType==HandlerSourceType.Type</c>,
            this value should be the name of the type; for <c>sourceType==HandlerSourceType.Assembly</c>,
            this value should be the name of the assembly.</param>
        </member>
        <member name="M:Apworks.Config.RegularConfigSource.AddException(System.Type,Apworks.Config.ExceptionHandlingBehavior)">
            <summary>
            Adds an exception definition to the ConfigSource.
            </summary>
            <param name="exceptionType">The type of the exception to be guarded.</param>
            <param name="behavior">The exception handling behavior.</param>
        </member>
        <member name="M:Apworks.Config.RegularConfigSource.AddExceptionHandler(System.Type,System.Type)">
            <summary>
            Adds an exception handler definition to the ConfigSource.
            </summary>
            <param name="exceptionType">The type of the exception being handled.</param>
            <param name="handlerType">The type of the exception handler.</param>
        </member>
        <member name="M:Apworks.Config.RegularConfigSource.AddInterceptor(System.String,System.Type)">
            <summary>
            Adds an interceptor to the current ConfigSource.
            </summary>
            <param name="name">The name of the interceptor.</param>
            <param name="interceptorType">The type of the interceptor.</param>
        </member>
        <member name="M:Apworks.Config.RegularConfigSource.AddInterceptorRef(System.Type,System.Reflection.MethodInfo,System.String)">
            <summary>
            Adds an interception reference to the specified contract and the method.
            </summary>
            <param name="contractType">The type of the contract.</param>
            <param name="method">The method.</param>
            <param name="name">The name of the interception reference.</param>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.Application">
            <summary>
            Gets or sets the type of the <see cref="T:Apworks.Application.IApp"/> instance.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.IdentityGenerator">
            <summary>
            Gets or sets the type of the identity generator.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.SequenceGenerator">
            <summary>
            Gets or sets the type of the sequence generator.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.ObjectContainer">
            <summary>
            Gets or sets the type of the object container.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.InitObjectContainerFromConfigFile">
            <summary>
            Gets or sets a <see cref="T:System.Boolean"/> value which indicates whether
            the object container should be initialized by the application/web configuration file.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.ObjectContainerSectionName">
            <summary>
            Gets or sets the name of the ConfigurationSection in the application/web configuration
            file with which the object container should be initialized.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.EventSerializer">
            <summary>
            Gets or sets the type of the event serializer.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.SnapshotSerializer">
            <summary>
            Gets or sets the type of the snapshot serializer.
            </summary>
        </member>
        <member name="P:Apworks.Config.RegularConfigSource.Config">
            <summary>
            Gets the instance of <see cref="T:Apworks.Config.ApworksConfigSection"/> class.
            </summary>
        </member>
        <member name="T:Apworks.Config.ConfigException">
            <summary>
            Represents errors that occur when configuring Apworks framework.
            </summary>
        </member>
        <member name="M:Apworks.Config.ConfigException.#ctor">
            <summary>
            Initializes a new instance of the <c>ConfigException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Config.ConfigException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>ConfigException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.Config.ConfigException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>ConfigException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.Config.ConfigException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>ConfigException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="T:Apworks.Specifications.SpecificationException">
            <summary>
            Represents errors that occur in the specification of Apworks framework.
            </summary>
        </member>
        <member name="M:Apworks.Specifications.SpecificationException.#ctor">
            <summary>
            Initializes a new instance of the <c>SpecificationException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Specifications.SpecificationException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>SpecificationException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.Specifications.SpecificationException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>SpecificationException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.Specifications.SpecificationException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>SpecificationException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="T:Apworks.Specifications.OrSpecification`1">
            <summary>
            Represents the combined specification which indicates that either of the given
            specification should be satisfied by the given object.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.OrSpecification`1.#ctor(Apworks.Specifications.ISpecification{`0},Apworks.Specifications.ISpecification{`0})">
            <summary>
            Initializes a new instance of <c>OrSpecification&lt;T&gt;</c> class.
            </summary>
            <param name="left">The first specification.</param>
            <param name="right">The second specification.</param>
        </member>
        <member name="M:Apworks.Specifications.OrSpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="T:Apworks.Exceptions.ExceptionHandler`1">
            <summary>
            Represents the base class of exception handlers.
            </summary>
            <typeparam name="TException">The type of the exception being handled.</typeparam>
        </member>
        <member name="M:Apworks.Exceptions.ExceptionHandler`1.DoHandle(`0)">
            <summary>
            Performs the exception handling internally.
            </summary>
            <param name="ex">The exception to be handled.</param>
            <returns>True if the exception was handled successfully, otherwise, false.</returns>
        </member>
        <member name="M:Apworks.Exceptions.ExceptionHandler`1.HandleException(System.Exception)">
            <summary>
            Handles a specific exception.
            </summary>
            <param name="ex">The exception to be handled.</param>
            <returns>True if the exceptioin was successfully handled, otherwise, false.</returns>
        </member>
        <member name="T:Apworks.Interception.InterceptorSelector">
            <summary>
            Represents the interceptor selector.
            </summary>
        </member>
        <member name="M:Apworks.Interception.InterceptorSelector.SelectInterceptors(System.Type,System.Reflection.MethodInfo,Castle.DynamicProxy.IInterceptor[])">
            <summary>
            Selects the interceptors for the given type and method.
            </summary>
            <param name="type">The type.</param>
            <param name="method">The method.</param>
            <param name="interceptors">The origin interceptor collection.</param>
            <returns>An array of interceptors specific for the given type and method.</returns>
        </member>
        <member name="T:Apworks.Bus.MessageDispatcher">
            <summary>
            Represents the message dispatcher.
            </summary>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.RegisterType(Apworks.Bus.IMessageDispatcher,System.Type)">
            <summary>
            Registers the specified handler type to the message dispatcher.
            </summary>
            <param name="messageDispatcher">Message dispatcher instance.</param>
            <param name="handlerType">The type to be registered.</param>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.RegisterAssembly(Apworks.Bus.IMessageDispatcher,System.Reflection.Assembly)">
            <summary>
            Registers all the handler types within a given assembly to the message dispatcher.
            </summary>
            <param name="messageDispatcher">Message dispatcher instance.</param>
            <param name="assembly">The assembly.</param>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.OnDispatching(Apworks.Bus.MessageDispatchEventArgs)">
            <summary>
            Occurs when the message dispatcher is going to dispatch a message.
            </summary>
            <param name="e">The event data.</param>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.OnDispatchFailed(Apworks.Bus.MessageDispatchEventArgs)">
            <summary>
            Occurs when the message dispatcher failed to dispatch a message.
            </summary>
            <param name="e">The event data.</param>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.OnDispatched(Apworks.Bus.MessageDispatchEventArgs)">
            <summary>
            Occurs when the message dispatcher has finished dispatching the message.
            </summary>
            <param name="e">The event data.</param>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.CreateAndRegister(Apworks.Config.IConfigSource,System.Type,System.Object[])">
            <summary>
            Creates a message dispatcher and registers all the message handlers
            specified in the <see cref="T:Apworks.Config.IConfigSource"/> instance.
            </summary>
            <param name="configSource">The <see cref="T:Apworks.Config.IConfigSource"/> instance
            that contains the definitions for message handlers.</param>
            <param name="messageDispatcherType">The type of the message dispatcher.</param>
            <param name="args">The arguments that is used for initializing the message dispatcher.</param>
            <returns>A <see cref="T:Apworks.Bus.IMessageDispatcher"/> instance.</returns>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.Clear">
            <summary>
            Clears the registration of the message handlers.
            </summary>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.DispatchMessage(System.Object)">
            <summary>
            Dispatches the message.
            </summary>
            <param name="message">The message to be dispatched.</param>
        </member>
        <member name="M:Apworks.Bus.MessageDispatcher.Register``1(Apworks.IHandler{``0})">
            <summary>
            Registers a message handler into message dispatcher.
            </summary>
            <typeparam name="T">The type of the message.</typeparam>
            <param name="handler">The handler to be registered.</param>
        </member>
        <member name="E:Apworks.Bus.MessageDispatcher.Dispatching">
            <summary>
            Occurs when the message dispatcher is going to dispatch a message.
            </summary>
        </member>
        <member name="E:Apworks.Bus.MessageDispatcher.DispatchFailed">
            <summary>
            Occurs when the message dispatcher failed to dispatch a message.
            </summary>
        </member>
        <member name="E:Apworks.Bus.MessageDispatcher.Dispatched">
            <summary>
            Occurs when the message dispatcher has finished dispatching the message.
            </summary>
        </member>
        <member name="T:Apworks.Events.InlineDomainEventHandler">
            <summary>
            Represents the domain event handler that is defined within the scope of
            an aggregate root and handles the domain event when <c>SourcedAggregateRoot.RaiseEvent&lt;TEvent&gt;</c>
            is called.
            </summary>
        </member>
        <member name="M:Apworks.Events.InlineDomainEventHandler.#ctor(Apworks.ISourcedAggregateRoot,System.Reflection.MethodInfo)">
            <summary>
            Initializes a new instance of <c>InlineDomainEventHandler</c> class.
            </summary>
            <param name="aggregateRoot">The instance of the aggregate root within which the domain event
            was raised and handled.</param>
            <param name="mi">The method which handles the domain event.</param>
        </member>
        <member name="M:Apworks.Events.InlineDomainEventHandler.Handle(Apworks.Events.IDomainEvent)">
            <summary>
            Handles the specified domain event.
            </summary>
            <param name="message">The domain event to be handled.</param>
        </member>
        <member name="M:Apworks.Events.InlineDomainEventHandler.CanHandle(Apworks.Events.IDomainEvent)">
            <summary>
            Checks whether the specified domain event could be handled by the current handler.
            </summary>
            <param name="domainEvent">The domain event to be checked.</param>
            <returns>True if the specified domain event can be handled by the current handler, otherwise false.</returns>
        </member>
        <member name="T:Apworks.Commands.CommandHandler`1">
            <summary>
            Represents the base class for command handlers.
            </summary>
            <typeparam name="TCommand">The type of the command to be handled.</typeparam>
        </member>
        <member name="M:Apworks.Commands.CommandHandler`1.#ctor">
            <summary>
            Initializes a new instance of <c>CommandHandler&lt;TCommand&gt;</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Commands.CommandHandler`1.Handle(`0)">
            <summary>
            Handles the specified command.
            </summary>
            <param name="command">The command instance to be handled.</param>
        </member>
        <member name="P:Apworks.Commands.CommandHandler`1.DomainRepository">
            <summary>
            Gets the instance of the domain repository that could be used
            by the current command handler to perform repository operations.
            </summary>
        </member>
        <member name="T:Apworks.Application.AppRuntime">
            <summary>
            Represents the Application Runtime from where the application
            is created, initialized and started.
            </summary>
        </member>
        <member name="M:Apworks.Application.AppRuntime.Create(Apworks.Config.IConfigSource)">
            <summary>
            Creates and initializes a new application instance.
            </summary>
            <param name="configSource">The <see cref="T:Apworks.Config.IConfigSource"/> instance that
            is used for initializing the application.</param>
            <returns>The initialized application instance.</returns>
        </member>
        <member name="P:Apworks.Application.AppRuntime.Instance">
            <summary>
            Gets the instance of the current <c>ApplicationRuntime</c> class.
            </summary>
        </member>
        <member name="P:Apworks.Application.AppRuntime.CurrentApplication">
            <summary>
            Gets the instance of the currently running application.
            </summary>
        </member>
        <member name="T:Apworks.Storage.StorageException">
            <summary>
            Represents the errors occur when performing storage operations in Apworks.
            </summary>
        </member>
        <member name="M:Apworks.Storage.StorageException.#ctor">
            <summary>
            Initializes a new instance of the <c>StorageException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Storage.StorageException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>StorageException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.Storage.StorageException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>StorageException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.Storage.StorageException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>StorageException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
        <member name="T:Apworks.Specifications.NoneSpecification`1">
            <summary>
            Represents the specification that can be satisfied by the given object
            in no circumstance.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.NoneSpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="T:Apworks.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_ADD_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to add the aggregate(s) to the repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_BEGIN_TRANS_DOMAIN_REPOSITORY_FAIL">
            <summary>
              Looks up a localized string similar to Failed to begin the transaction for the domain repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_BEGIN_TRANS_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to begin transaction with the isolation level {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_BUILD_FIELD_NAME_FAIL">
            <summary>
              Looks up a localized string similar to The where clause builder failed to build the field name for member {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_CHECK_EXIST_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to check the existance of the aggregate..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_CLOSE_CONN_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to close the connection..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_COMMIT_DOMAIN_REPOSITORY_CONTEXT_FAIL">
            <summary>
              Looks up a localized string similar to Failed to commit the domain repository Unit of Work..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_COMMIT_ROLLBACK_WHEN_DISPOSE_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Either commit or rollback fails when disposing the storage device object..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_COMMIT_TRANS_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to commit the transaction..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_DELETE_FROM_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to delete the object from storage for type {0}, with the criteria {1}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_DESERIALIZE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to deserialize the object..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_DISPOSE_DOMAIN_REPOSITORY_FAIL">
            <summary>
              Looks up a localized string similar to Failed to dispose the domain repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_DOMAINEVENTSTORE_INVALID_CONNSTR">
            <summary>
              Looks up a localized string similar to Database connection string was not specified as it must be used by LINQ to SQL Domain Event Store. Check the configuration file to make sure the configuration section for event storage was defined and the connection string was provided properly..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_DOMAINEVENTSTORE_INVALID_MAPPING">
            <summary>
              Looks up a localized string similar to LINQ to SQL mapping xml was not defined as it must be used by the LINQ to SQL Domain Event Store. Check the configuration file to make sure the configuration section for event storage was defined and the mapping xml was specified property..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_DOMAINEVENTSTORE_INVALID_TYPE">
            <summary>
              Looks up a localized string similar to The type of the configuration section is not valid as required. Required: {0}, Actual: {1}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_EXPRESSION_NODE_TYPE_NOT_SUPPORT">
            <summary>
              Looks up a localized string similar to The expression type {0} is not supported by current version of Apworks..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_FIND_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Error occurs when trying to find the aggregate(s) from the repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_FINDALL_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to find all the aggregates..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_GENERATE_UID_FAIL">
            <summary>
              Looks up a localized string similar to General error occurs when generating the unique identifier..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_GENERATE_WHERE_CLAUSE_FAIL">
            <summary>
              Looks up a localized string similar to The where clause builder failed to generate the where clause for the expression {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_GENERATE_WHERE_NOT_SUPPORT">
            <summary>
              Looks up a localized string similar to There are some unsupported operations when generating where clause for the expression {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_GET_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Error occurs when trying to get the aggregate(s) from the repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_GET_IDENTITY_GENERATOR_FAIL">
            <summary>
              Looks up a localized string similar to Unable to get the identity generator..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_GETALL_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to get all the aggregates from the repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_INIT_RDBMS_DOMAIN_EVENT_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Unable to create the Relational Database Management System Domain Event Storage with the provided type {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_INIT_RDBMS_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to initialize the RDBMS storage device..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_INIT_XML_STORAGE_MAPPING_FAIL">
            <summary>
              Looks up a localized string similar to Failed to initialize the XML mapping resolver with the given file {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_INSERT_INTO_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to insert the data object into the storage with the data {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_INVALID_CONFIG_ELEMENT">
            <summary>
              Looks up a localized string similar to Configuration element {0}, which is required by Apworks, was not configured properly..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_INVALID_HANDLER_SIGNATURE">
            <summary>
              Looks up a localized string similar to The method {0} going to be used as domain event handler doesn&apos;t have a correct signature..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_INVALID_METHOD_CALL_ARGUMENT_NUMBER">
            <summary>
              Looks up a localized string similar to Number of the arguments used by the method call should only be one..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_LOAD_OBJ_CONTAINER_FAIL">
            <summary>
              Looks up a localized string similar to Failed to initialize and load the object container..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_MEMBER_TYPE_NOT_SUPPORT">
            <summary>
              Looks up a localized string similar to Only the property member of the given data object and the field member is supported. Current member type is {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_METHOD_CALL_ARGUMENT_TYPE_NOT_SUPPORT">
            <summary>
              Looks up a localized string similar to The type of the argument that used by the method should be either Constant or Member. Currently it is {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_METHOD_NOT_SUPPORT">
            <summary>
              Looks up a localized string similar to Only the StartsWith, EndsWith and Equals methods are supported. Currently it is {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_PROCESS_NODE_NOT_SUPPORT">
            <summary>
              Looks up a localized string similar to The process of the expression type {0} is not supported..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_REMOVE_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to remove the aggregate from the repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_ROLLBACK_TRANS_DOMAIN_REPOSITORY_FAIL">
            <summary>
              Looks up a localized string similar to Failed to rollback the transaction from the domain repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_ROLLBACK_TRANS_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to rollback the transaction..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_SELECT_FIRSTONLY_FAIL">
            <summary>
              Looks up a localized string similar to Failed to select the first only object for data type {0} with the property bag {1}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_SELECT_FROM_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to select data objects from the storage for data type {0}, with the criteria {1}, sorting fields {2} and sort order {3}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_SERIALIZE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to serialize the object..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_STORAGE_TRANS_COMPLETED">
            <summary>
              Looks up a localized string similar to The transaction has already completed..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_UPDATE_AGGREGATE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to update the aggregate in the repository..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_UPDATE_FROM_STORAGE_FAIL">
            <summary>
              Looks up a localized string similar to Failed to update the data object of type {0} from the storage, with the new values {1} and the selection criteria {2}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_VISIT_CONSTANT_FAIL">
            <summary>
              Looks up a localized string similar to Failed to process the constant expression {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_VISIT_MEMBER_FAIL">
            <summary>
              Looks up a localized string similar to Failed to process the member expression {0}..
            </summary>
        </member>
        <member name="P:Apworks.Properties.Resources.EX_VISIT_METHOD_CALL_FAIL">
            <summary>
              Looks up a localized string similar to Failed to process the method call expression {0}..
            </summary>
        </member>
        <member name="T:Apworks.Generators.SequenceGenerator">
            <summary>
            Represents the default sequence generator.
            </summary>
        </member>
        <member name="P:Apworks.Generators.SequenceGenerator.Instance">
            <summary>
            Gets the singleton instance of <c>SequenceGenerator</c> class.
            </summary>
        </member>
        <member name="P:Apworks.Generators.SequenceGenerator.Next">
            <summary>
            Gets the next value of the sequence.
            </summary>
        </member>
        <member name="T:Apworks.Storage.Builders.WhereClauseBuildResult">
            <summary>
            Represents the where clause build result.
            </summary>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuildResult.#ctor">
            <summary>
            Initializes a new instance of <c>WhereClauseBuildResult</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuildResult.#ctor(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Initializes a new instance of <c>WhereClauseBuildResult</c> class.
            </summary>
            <param name="whereClause">The <c>System.String</c> value which represents the generated
            WHERE clause.</param>
            <param name="parameterValues">The <c>Dictionary&lt;string, object&gt;</c> instance which contains
            the mapping of the parameters and their values.</param>
        </member>
        <member name="M:Apworks.Storage.Builders.WhereClauseBuildResult.ToString">
            <summary>
            Returns a <c>System.String</c> object which represents the content of the Where Clause
            Build Result.
            </summary>
            <returns>A <c>System.String</c> object which represents the content of the Where Clause
            Build Result.</returns>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuildResult.WhereClause">
            <summary>
            Gets or sets a <c>System.String</c> value which represents the generated
            WHERE clause.
            </summary>
        </member>
        <member name="P:Apworks.Storage.Builders.WhereClauseBuildResult.ParameterValues">
            <summary>
            Gets or sets a <c>Dictionary&lt;string, object&gt;</c> instance which contains
            the mapping of the parameters and their values.
            </summary>
        </member>
        <member name="T:Apworks.Bus.IEventBus">
            <summary>
            Represents that the implemented classes are event buses.
            </summary>
        </member>
        <member name="T:Apworks.Repositories.EventSourcedDomainRepository">
            <summary>
            Represents the domain repository that supports the event sourcing facilities.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.EventSourcedDomainRepository.#ctor(Apworks.Events.Storage.IDomainEventStorage,Apworks.Bus.IEventBus,Apworks.Snapshots.Providers.ISnapshotProvider)">
            <summary>
            Initializes a new instance of <c>EventSourcedDomainRepository</c> class.
            </summary>
            <param name="domainEventStorage">The <see cref="T:Apworks.Events.Storage.IDomainEventStorage"/> instance
            that handles the storage mechanism for domain events.</param>
            <param name="eventBus">The <see cref="T:Apworks.Bus.IEventBus"/> instance to which the domain events
            are published.</param>
            <param name="snapshotProvider">The <see cref="T:Apworks.Snapshots.Providers.ISnapshotProvider"/> instance
            that is used for handling the snapshot operations.</param>
        </member>
        <member name="M:Apworks.Repositories.EventSourcedDomainRepository.DoCommit">
            <summary>
            Commits the changes registered in the domain repository.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.EventSourcedDomainRepository.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Repositories.EventSourcedDomainRepository.Get``1(System.Int64)">
            <summary>
            Gets the instance of the aggregate root with the specified identifier.
            </summary>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The instance of the aggregate root with the specified identifier.</returns>
        </member>
        <member name="M:Apworks.Repositories.EventSourcedDomainRepository.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.EventSourcedDomainRepository.DomainEventStorage">
            <summary>
            Gets the instance of the domain event storage which is used for storing domain events.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.EventSourcedDomainRepository.SnapshotProvider">
            <summary>
            Gets the <see cref="T:Apworks.Snapshots.Providers.ISnapshotProvider"/> instance
            that is used for handling the snapshot operations.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.EventSourcedDomainRepository.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="T:Apworks.Specifications.AndSpecification`1">
            <summary>
            Represents the combined specification which indicates that both of the given
            specifications should be satisfied by the given object.
            </summary>
            <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
        </member>
        <member name="M:Apworks.Specifications.AndSpecification`1.#ctor(Apworks.Specifications.ISpecification{`0},Apworks.Specifications.ISpecification{`0})">
            <summary>
            Constructs a new instance of <c>AndSpecification&lt;T&gt;</c> class.
            </summary>
            <param name="left">The first specification.</param>
            <param name="right">The second specification.</param>
        </member>
        <member name="M:Apworks.Specifications.AndSpecification`1.GetExpression">
            <summary>
            Gets the LINQ expression which represents the current specification.
            </summary>
            <returns>The LINQ expression.</returns>
        </member>
        <member name="T:Apworks.Generators.IdentityGenerator">
            <summary>
            Represents the default identity generator.
            </summary>
        </member>
        <member name="M:Apworks.Generators.IdentityGenerator.Generate">
            <summary>
            Generates the identity.
            </summary>
            <returns>The generated identity instance.</returns>
        </member>
        <member name="P:Apworks.Generators.IdentityGenerator.Instance">
            <summary>
            Gets the instance of the <c>IdentityGenerator</c> class.
            </summary>
        </member>
        <member name="T:Apworks.Repositories.SnapshotDomainRepository">
            <summary>
            Represents the domain repository that uses the snapshots to perform
            repository operations and publishes the domain events to the specified
            event bus.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.SnapshotDomainRepository.#ctor(Apworks.Storage.IStorage,Apworks.Bus.IEventBus)">
            <summary>
            Initializes a new instance of <c>SnapshotDomainRepository</c> class.
            </summary>
            <param name="storage">The <see cref="T:Apworks.Storage.IStorage"/> instance that is used
            by the current domain repository to manipulate snapshot data.</param>
            <param name="eventBus">The <see cref="T:Apworks.Bus.IEventBus"/> instance to which
            the domain events are published.</param>
        </member>
        <member name="M:Apworks.Repositories.SnapshotDomainRepository.DoCommit">
            <summary>
            Commits the changes registered in the domain repository.
            </summary>
        </member>
        <member name="M:Apworks.Repositories.SnapshotDomainRepository.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">A <see cref="T:System.Boolean"/> value which indicates whether
            the object should be disposed explicitly.</param>
        </member>
        <member name="M:Apworks.Repositories.SnapshotDomainRepository.Get``1(System.Int64)">
            <summary>
            Gets the instance of the aggregate root with the specified identifier.
            </summary>
            <param name="id">The identifier of the aggregate root.</param>
            <returns>The instance of the aggregate root with the specified identifier.</returns>
        </member>
        <member name="M:Apworks.Repositories.SnapshotDomainRepository.Rollback">
            <summary>
            Rollback the transaction.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.SnapshotDomainRepository.Storage">
            <summary>
            Gets the <see cref="T:Apworks.Storage.IStorage"/> instance that is used
            by the current domain repository to manipulate snapshot data.
            </summary>
        </member>
        <member name="P:Apworks.Repositories.SnapshotDomainRepository.DTCompatible">
            <summary>
            Gets a <see cref="T:System.Boolean"/> value which indicates
            whether the Unit of Work could support Microsoft Distributed
            Transaction Coordinator (MS-DTC).
            </summary>
        </member>
        <member name="T:Apworks.Snapshots.Providers.SnapshotProviderOption">
            <summary>
            Represents the snapshot provider option.
            </summary>
        </member>
        <member name="F:Apworks.Snapshots.Providers.SnapshotProviderOption.Immediate">
            <summary>
            Indicates that immediate snapshot create/update should
            be performed.
            </summary>
        </member>
        <member name="F:Apworks.Snapshots.Providers.SnapshotProviderOption.Postpone">
            <summary>
            Indicates that the creating/updating of the snapshots
            would be postponed to a later scenario. 
            </summary>
        </member>
        <member name="T:Apworks.ObjectContainer">
            <summary>
            Represents the base class for object containers.
            </summary>
        </member>
        <member name="M:Apworks.ObjectContainer.#ctor">
            <summary>
            Initializes a new instance of <c>ObjectContainer</c> class.
            </summary>
        </member>
        <member name="M:Apworks.ObjectContainer.DoGetService``1">
            <summary>
            Gets the service object of the specified type.
            </summary>
            <typeparam name="T">The type of the service object.</typeparam>
            <returns>The instance of the service object.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.DoGetService(System.Type)">
            <summary>
            Gets the service object of the specified type.
            </summary>
            <param name="serviceType">An object that specifies the type of service object to get.</param>
            <returns>A service object of type serviceType.-or- null if there is no service object
            of type serviceType.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.DoResolveAll(System.Type)">
            <summary>
            Resolves all the objects from the specified type.
            </summary>
            <param name="serviceType">The type of the objects to be resolved.</param>
            <returns>A <see cref="T:System.Array"/> object which contains all the objects resolved.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.DoResolveAll``1">
            <summary>
            Resolves all the objects from the specified type.
            </summary>
            <typeparam name="T">The type of the objects to be resolved.</typeparam>
            <returns>A <see cref="T:System.Array"/> object which contains all the objects resolved.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.InitializeFromConfigFile(System.String)">
            <summary>
            Initializes the object container by using the application/web config file.
            </summary>
            <param name="configSectionName">The name of the ConfigurationSection in the application/web config file
            which is used for initializing the object container.</param>
        </member>
        <member name="M:Apworks.ObjectContainer.GetWrappedContainer``1">
            <summary>
            Gets the wrapped container instance.
            </summary>
            <typeparam name="T">The type of the wrapped container.</typeparam>
            <returns>The instance of the wrapped container.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.GetService``1">
            <summary>
            Gets the service object of the specified type.
            </summary>
            <typeparam name="T">The type of the service object.</typeparam>
            <returns>The instance of the service object.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.ResolveAll(System.Type)">
            <summary>
            Resolves all the objects from the specified type.
            </summary>
            <param name="serviceType">The type of the objects to be resolved.</param>
            <returns>A <see cref="T:System.Array"/> object which contains all the objects resolved.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.ResolveAll``1">
            <summary>
            Resolves all the objects from the specified type.
            </summary>
            <typeparam name="T">The type of the objects to be resolved.</typeparam>
            <returns>A <see cref="T:System.Array"/> object which contains all the objects resolved.</returns>
        </member>
        <member name="M:Apworks.ObjectContainer.GetService(System.Type)">
            <summary>
            Gets the service object of the specified type.
            </summary>
            <param name="serviceType">An object that specifies the type of service object to get.</param>
            <returns>A service object of type serviceType.-or- null if there is no service object
            of type serviceType.</returns>
        </member>
        <member name="T:Apworks.Bus.BusException">
            <summary>
            Represents the errors occur when performing bus operations in Apworks.
            </summary>
        </member>
        <member name="M:Apworks.Bus.BusException.#ctor">
            <summary>
            Initializes a new instance of the <c>BusException</c> class.
            </summary>
        </member>
        <member name="M:Apworks.Bus.BusException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <c>BusException</c> class with the specified
            error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Apworks.Bus.BusException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <c>BusException</c> class with the specified
            error message and the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception that is the cause of this exception.</param>
        </member>
        <member name="M:Apworks.Bus.BusException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <c>BusException</c> class with the specified
            string formatter and the arguments that are used for formatting the message which
            describes the error.
            </summary>
            <param name="format">The string formatter which is used for formatting the error message.</param>
            <param name="args">The arguments that are used by the formatter to build the error message.</param>
        </member>
    </members>
</doc>
